【发布时间】:2013-08-29 15:46:39
【问题描述】:
我遇到以下问题。下面解释了我的 PHP 页面是什么以及它们是如何工作的。当我直接访问 form.php 并尝试通过 AJAX 提交时,它工作得很好。
问题 - 当我 .load() form.php 进入 main.php 时,form.php 中的任何 jQuery 代码都不会触发。 (通过萤火虫验证)没有提交,没有警报,什么都没有。如何让 form.php 中的 jQuery 代码在加载到 main.php 时工作?
main.php -> 这是主 PHP 页面,上面有一个链接。单击此链接后,将触发以下 jQuery 代码以在名为#formcontainer 的 div 中加载“form.php”。这是 main.php 中加载 form.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 提交数据。这是提交表单的 jquery 代码,它有一个名为#homeprofile 的 ID。
<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(),
});
});
});
【问题讨论】:
-
到底发生了什么?是否显示警报?
-
您的表单没有按钮,这使得提交非常困难。
-
糟糕,对不起,我忘了在我的代码中添加 行。不会出现警报,也不会进行数据库调用。似乎 form.php 中的任何 jQuery 代码都不会触发。
-
@HamedMomeni 这不是真的。 api.jquery.com/load