Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress Google再次按搜索表单自定义搜索_Javascript_Php_Wordpress - Fatal编程技术网

Javascript Wordpress Google再次按搜索表单自定义搜索

Javascript Wordpress Google再次按搜索表单自定义搜索,javascript,php,wordpress,Javascript,Php,Wordpress,很抱歉再次分发给你们,我有一个问题还没有解决。。 提交搜索表单后如何调用javascript函数 工作流程应该是:当我在搜索中填充了一些内容并单击搜索按钮(searchform.php)后,它将发送表单并重定向,在搜索页面(search.php)中调用javascript函数(header.php)并显示结果 header.php的一部分: <script> var renderSearchElement = function() { google.search.cse.

很抱歉再次分发给你们,我有一个问题还没有解决。。 提交搜索表单后如何调用javascript函数

工作流程应该是:当我在搜索中填充了一些内容并单击搜索按钮(searchform.php)后,它将发送表单并重定向,在搜索页面(search.php)中调用javascript函数(header.php)并显示结果

header.php的一部分:

<script>
  var renderSearchElement = function() {
    google.search.cse.element.render(
      {
        div: "default",
        tag: 'search'
      });
    google.search.cse.element.render(
      {
        div: "test",
        attributes: {
          disableWebSearch: true,
          enableHistory: true},
        tag: 'search'
      });
  };



  window.__gcse = {
        parsetags: 'explicit',
  };



  var loadElements = function() {
    var cx = 'YYYYYYYYYYYYYYYYYYYYY:XXXXXXXXXX';
    var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
    gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
  }



    var hndlr = function($response) {
      for (var i = 0; i < $response.items.length; i++) {
        var item = $response.items[i];

        // in production code, item.htmlTitle should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>";
        document.getElementById("content").innerHTML += "<br> Title : " + item.title;
        document.getElementById("content").innerHTML += "<br> ==================================== ";

        if(item.pagemap.hreview)
        {
            for(var j=0; j < item.pagemap.hreview.length; j++) {
                document.getElementById("content").innerHTML += "<br>" + j + ": " + item.pagemap.hreview[j].description;
            }
            document.getElementById("content").innerHTML += "<br>";
           }
      }
    }

    var curltestPHPonly = function()
    {
          $ch = curl_init(); 
        // set url 
        curl_setopt($ch, CURLOPT_URL, "https://www.googleapis.com/customsearch/v1?key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&cx=XXXXXXXXXXXXXXXXXXXXXX:XXXXXXX&q=wine&callback=hndlr"); 
        curl_exec($ch); 
    }

        var searchdata;



    var curltest = function() {
        searchdata = document.getElementById('curlinput');
            var urltest = document.createElement('script'); urltest.type = 'text/javascript'; urltest.async = true;
            urltest.src = 'https://www.googleapis.com/customsearch/v1?key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&cx=XXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXX&q='+searchdata.value +'&callback=hndlr';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(urltest, s);
    }



</script>

var renderSearchElement=函数(){
google.search.cse.element.render(
{
div:“默认”,
标签:“搜索”
});
google.search.cse.element.render(
{
分区:“测试”,
属性:{
disableWebSearch:没错,
enableHistory:true},
标签:“搜索”
});
};
窗口。\uuu gcse={
parsetags:'显式',
};
var loadElements=函数(){
变量cx='yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy;
var gcse=document.createElement('script');gcse.type='text/javascript';gcse.async=true;
gcse.src=(document.location.protocol=='https:'?'https:':'http:')+'//www.google.com/cse/cse.js?cx='+cx;
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(gcse,s);
}
var hndlr=函数($response){
对于(变量i=0;i<$response.items.length;i++){
var item=$response.items[i];
//在生产代码中,item.htmlTitle应该转义HTML实体。
document.getElementById(“内容”).innerHTML+=“
”; document.getElementById(“内容”).innerHTML+=“
标题:”+item.Title; document.getElementById(“内容”).innerHTML+=”
=========================================================================”; if(item.pagemap.hreview) { 对于(var j=0;j”+j+”:“+item.pagemap.hreview[j].说明; } document.getElementById(“内容”).innerHTML+=“
”; } } } var curltestPHPonly=函数() { $ch=curl_init(); //设置url curl_setopt($ch,CURLOPT_URL,”https://www.googleapis.com/customsearch/v1?key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&cx=XXXXXXXXXXXXXXXXXXXXXX:XXXXXXX&q=wine&callback=hndlr"); curl_exec($ch); } var数据; var curltest=函数(){ searchdata=document.getElementById('curlinput'); var urltest=document.createElement('script');urltest.type='text/javascript';urltest.async=true; urltest.src='1〕https://www.googleapis.com/customsearch/v1?key=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY&cx=XXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXX&q=“+searchdata.value+”&callback=hndlr'; var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(urltest,s); }
和shearform.php

<form  role="search" method="get" class="search-form"   action="<?php echo esc_url( home_url( '/' ) ); ?>" >

    <input type="search" id="curlinput" class="search-field" placeholder="search" value="" name="s" />

    <input type="submit" class="search-submit" value="submit" />
</form>

在search.php运行时调用函数可以吗?您的意思是将整个javascript代码放入search.php吗?无论脚本代码放在哪里,如果form action=“javascript:curltest()”它工作并在当前页面上显示现有的当前页面内容,而不是搜索页面。嗨,Jalpa。。。。也许我知道问题出在哪里:如果直接运行javascript函数,它将获取我表单的输入id=“curlinput”作为searchdata,但是如果更改为search.php,它将不起作用,因为php不使用“id”,而是使用“name”。。。。此外,我使用window.onload=curltest;search.php时自动运行的步骤loaded@lingmark好的,太好了!所以它可以按照你的意愿工作,或者仍然需要任何改变?仍然需要改变。。。。我删除了getElementById,并将变量“searchdata”设置为等于“s”,它现在可以工作了~~非常感谢你和aje帮我一把!!!谢谢!如果在search.php运行时调用我们的函数可以吗?您的意思是将整个javascript代码放入search.php中吗?无论脚本代码放在哪里,如果form action=“javascript:curltest()”它工作并在当前页面上显示现有的当前页面内容,而不是搜索页面。嗨,Jalpa。。。。也许我知道问题出在哪里:如果直接运行javascript函数,它将获取我表单的输入id=“curlinput”作为searchdata,但是如果更改为search.php,它将不起作用,因为php不使用“id”,而是使用“name”。。。。此外,我使用window.onload=curltest;search.php时自动运行的步骤loaded@lingmark好的,太好了!所以它可以按照你的意愿工作,或者仍然需要任何改变?仍然需要改变。。。。我删除了getElementById,并将变量“searchdata”设置为等于“s”,它现在可以工作了~~非常感谢你和aje帮我一把!!!谢谢!
<?php


get_header(); ?>

    <section id="primary" class="content-area">
        <main id="main" class="site-main" role="main">


            <div id="content">result shows here</div>



        </main><!-- #main -->
    </section><!-- #primary -->
<?php

get_footer();
?>