次の問題があります。以下は、私の 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(),
});
});
});