我试图在单独的页面上显示搜索查询结果。我从论坛上复制了代码,但由于显示页面不是php,我不确定它是否会工作。
下面是来自主页的代码:<form action="search" method="post">
<input type="text" name="q" />
<input type="submit" name="search" value="Search" />
</form>
我希望搜索结果显示在mysite.com/search(显然)
mysite.com/search的代码如下:
<div id="cse" style="width: 100%;">Loading</div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">//
google.load('jquery', '1');
google.load('search', '1');
google.setOnLoadCallback(function(){
var customSearchControl = new google.search.CustomSearchControl('XXXXX');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
$(".gsc-input").val("<?php echo $_POST['q']; ?>");//insert into search field requested search text
$(".gsc-search-button").click();//call button click event, show results
}, true);
// ]]></script>
我有选择吗?有解决办法吗?
因为显示页面不是php
那么你不能使用$(".gsc-input").val("<?php echo $_POST['q']; ?>");
,但可以使用像
$.get('path-to-php-script/query.php', function(data) {
$(".gsc-input").html(data);
alert('Load was performed.');
});
这个想法是,您只需使用jQuery检索和操作您需要通过PHP脚本运行的数据,然后将它们返回到仅html的显示页面。
您可以这样实现把这段代码放到head标签
<script language="javascript">
function changeData(fromDiv)
{
document.getElementById('toDiv').innerHTML = fromDiv.innerHTML;
}
</script>
And This in your body tag
<div id="toDiv"></div>
<div id="fromDiv" onclick="changeData(this)">Hello World I am here</div>