2017-09-13 20 views
0

名前を入力するとajaxにリンクされている自分のページに入力があり、その名前をデータベースで検索して結果をhtml形式で返しますすべての入力には値formというデータベースがあります。そのフォームでは、動作していない送信ボタンを配置します。Ajax:PHP:HTML送信ボタンがAjaxレスポンスで機能しない

マイコード: HTML

<div class="well"> 
    <input type="text" name="promote_student_txt" id="promote_student_txt" /> 
    <div id="rr2"></div> 
</div> 

AJAX

$('#promote_student_txt').keyup(function(){ 
    var email = $('#promote_student_txt').val(); 
    $.post('includes/promote_student_search.php',{e:email},function(data){ 
     $('#rr2').html(data); 
}); 
}); 

PHPページ

<td> 
     $id="FROM DATABASE"; 
     $class="FROM DATABASE"; 
     $section="FROM DATABASE"; 
     <form method='get' action='new.php'> 
      <input type='hidden' name='student_id' value='$id' /> 
      <input type='hidden' name='old_class' value='$class' /> 
      <input type='hidden' name='old_section' value='$section'/> 
      <input type='submit' name='promote_single'/> 
     </form> 
    </td> 
+0

あなたのサブミット関数はjQueryによって処理されますか? –

+0

いいえその単純な送信ボタンはありません。 –

+0

これが当てはまる場合、「機能していない」とは私たちにはあまり言いません。 「うまくいかない」とは何ですか? –

答えて

3

jQueryは実行時にページ内の要素のみを認識しているため、DOMに追加された新しい要素はjQueryによって認識されません。この問題を解決するには、event delegationを使用して、jQueryがページの読み込みを実行したときにそこにあったDOM内のポイントまで新しく追加されたアイテムからのイベントをバブリングします。多くの人々はバブリングされたイベントをキャッチする場所としてdocumentを使用していますが、DOMツリー全体まで進む必要はありません。理想的にはyou should delegate to the nearest parent existing at the time of page load.

関連する問題