2017-01-21 6 views
0

page1.phpの送信ボタンをクリックすると、レスポンスは一瞬HTML形式で出力されますが、自動的に削除されます。HTMLとしてのAjaxレスポンス

id="output"要素にpage2.phpの応答をページ1に表示したいとします。

私は間違っていますか?ここで

は、ページがさわやかで、削除されていない page2.php

<?php echo "<table align='center'>" 
    ."<tr>" 
    ."<td>"."Mr XYZ"."</td>" 
    ."<td>"."MALE"."</td>" 
    ."<td>"."987558745"."</td>" 
    ."<td>"."[email protected]"."</td>" 
    ."</tr>"; 
?> 
+0

あなたは、フォームのメソッドとaction属性を削除してみてくださいすることができます。 – carloliwanag

答えて

0

応答のpage1.php

<script type="text/javascript"> 
    function func(tosearch) { 
     alert("search"); 

     $.ajax({ 
      type: 'post', 
      url: 'page2.php', 
      data: { 
       'tosearch' : tosearch 
      }, 
      success: function(result) { 
       print(result); 
      } 
     }); 
    } 

    function print(result) { 
     document.getElementById("output").innerHTML=result; 
    } 
</script> 

<form method="post" action="page1.php"> 
    <input type="text" name="search" placeholder="Search.."><br><br> 
    <input type="submit" name="submit" onclick="func()"> 
</form> 
<p id="output">table here!!</p> 

コンテンツの内容です。ページをまったくリフレッシュしたくないので、実際にはform要素は必要ありません。ただ、マークアップをシンプルに保つためにinput平野buttonformを削除します

<script> 
    // your JavaScript 
</script> 
<input type="text" name="search" placeholder="Search.."><br><br> 
<button onclick="func()">  
<p id="output">table here!!</p> 
+0

または 'event.preventDefault();'を 'func()'に追加してください。 – NewToJS

+0

@NewToJS:Trueですが、イベントを常に防止してフォームを*決して*使用しないでください。最初にそれを持つ必要はありません。不要なものを無視/防止するだけのコードを書くよりも、不要なものを削除するほうが良い。 – David

+2

非常に真実ですが、データを「シリアル化」するためにフォームをターゲットにする人がいます。 * Aman Tiwari *については、あなたの答えはより良いですが、この質問を読んで他の人に助けを求めてもらえるように、私は他人を助けるかもしれないとコメントしました。 – NewToJS

関連する問題