-3

$newsumPHPの計算からdbの結果になるcol divに値を返したいと思います。html ファイルと php ファイルを分けておきたいと思います。ただし、それが完了すると、index.html ページで結果が得られません。

私はいくつかの ajax ソリューションを試しましたが、まだ機能していません。

index.html

<form id="search" action="index.php" method="post">
    <input type='search' name='keywords' value='' style="width:99%;">
    <a href='#col'>
    <input type='hidden' value='Submit' id='submit' name='doSearch' />
    </a>
</form>

<div  id="col"  style="width:100%; margin:0 auto;">
 <script>
 document.write("<?php echo $newsum.$message; ?>");
  </script>

index.php

if($_POST['doSearch'] == 'Submit') 
{
    $value=$_POST['keywords'];
    $newsum= round($total,1);

    if($newsum >= 3.5)
   {

   $message=$newsum.'/5';
   }

    }

AJAX

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
  $('#submit').click(function(){

   $.post("index.php", $("#search").serialize(),  function(response) {
   $('#col').html(response);

    });
    return false;

       });

       });
     </script>
4

1 に答える 1

1

検索結果をエコーアウトしませんでした:

編集index.php

if($_POST['doSearch'] == 'Submit') 
{
  $value=$_POST['keywords'];
  $newsum= round($total,1);
  if($newsum >= 3.5)
  {
     $message=$newsum.'/5';
     echo $message; // added
  }
  else 
  {
     echo "Nope"; // this is only to make sure something at all is echoed.
  }
}

次に、JS を変更します。

 // submit action instead of click is the way to use form data


 <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script>
 $(document).ready(function(){
     $('#search').submit(function(e){
        e.preventDefault();
        $.post("index.php", $("#search").serialize(),  function(response) {
           $('#col').html(response);
        });
     });
  });
 </script>

ノート

PHP コードを HTML ドキュメントに追加しました。これは決してうまくいきません...

<script>
 document.write("<?php echo $newsum.$message; ?>"); 
</script>

それが PHP ドキュメントであったとしても、変数は index.php に設定されているため存在しません。

于 2013-06-18T14:47:22.313 に答える