-1

次の問題があります。以下は、私の PHP ページとは何か、およびそれらがどのように機能するかについての説明です。form.php に直接アクセスして AJAX 経由で送信しようとすると、完全に機能します。

問題- form.php を main.php に .load() すると、form.php 内の jQuery コードが起動しません。(firebug で確認済み) 送信もアラートも何もありません。main.php にロードされたときに、form.php 内の jQuery コードを動作させるにはどうすればよいですか?

main.php -> リンクのあるメインの PHP ページです。このリンクをクリックすると、次の jQuery コードが起動して、#formcontainer という div 内に「form.php」が読み込まれます。これは、form.php をロードする main.php 内のコードです。

<a href="#" id="addHomeProfile">Foobar</a>
<div class="formcontainer"></div>
<script type="text/javascript">
$(document).ready(function(){
   $("#addHomeProfile").click(function(){
      $(".formcontaineropen").load("form.php");
   });
});
</script>

form.php -> これは上で読み込まれるフォームです。jQuery .ajax() POST を介して MySQL にデータを送信します。#homeprofile という ID を持つフォームを送信する jquery コードを次に示します。

<form id="homeprofile"> <input type="text" name="name" id="name" /> 
<input type="submit" value="submit" id="submit"></form>

<script type = "text/javascript">
$(document).ready(function() {
    $('#homeprofile').submit(function(e){
        e.preventDefault(); 
        alert("form submitted");
        $.ajax({ // Starter Ajax Call
           type: "POST",        
           url: 'update.php', 
           data: $('#homeprofile').serialize(),
        });
    });
});
4

4 に答える 4

3

このようにon()を使用します。

$(document).on('submit','#homeprofile',function(e){
    e.preventDefault(); 
    alert("form submitted");
    $.ajax({ // Starter Ajax Call
       type: "POST", 
       url: 'update.php', 
       data: $('#homeprofile').serialize(),
   });
   return false;
});
于 2013-08-29T15:48:42.477 に答える