2011-11-17 7 views
2

J'essaie d'afficher les résultats de la requête de recherche sur une page séparée. J'ai copié le code d'un forum, mais puisque la page d'affichage n'est pas php, je ne suis pas sûr que cela fonctionnera.PHP Echo de requête de recherche sur HTML Page

Voici le code de la page d'accueil:

<form action="search" method="post"> 
<input type="text" name="q" /> 
<input type="submit" name="search" value="Search" /> 
</form> 

Je veux que les résultats de la recherche pour afficher sur mysite.com/search (évidemment)

Le code sur mysite.com/search est aussi suit:

<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> 

Ai-je des options? Y at-il un travail autour?

Répondre

2

depuis la page d'affichage n'est pas php

vous ne pouvez pas utiliser $(".gsc-input").val("<?php echo $_POST['q']; ?>");, mais pourrait utiliser quelque chose comme

$.get('path-to-php-script/query.php', function(data) { 
    $(".gsc-input").html(data); 
    alert('Load was performed.'); 
}); 

L'idée est que vous venez d'utiliser jQuery pour récupérer et manipulez les données dont vous avez besoin pour exécuter le (s) script (s) PHP avant qu'elles ne soient renvoyées à la page d'affichage HTML uniquement.

0

Vous pouvez achive comme ça Mettez ce code dans votre balise de tête

<script language="javascript"> 
    function changeData(fromDiv) 
    { 
     document.getElementById('toDiv').innerHTML = fromDiv.innerHTML; 
    } 
    </script> 

Et dans votre balise body

<div id="toDiv"></div> 
    <div id="fromDiv" onclick="changeData(this)">Hello World I am here</div>