我有一个单页标记,弹出div包含用户可以用来更新他/她的帐户信息的表单。表单提交后,弹出窗口关闭,页面刷新,显示位于li内的更新信息(这似乎正常)。问题是,如果用户返回并尝试再次更新,则弹出窗口中的按钮不会提交。
提前感谢任何建议!!!
的Javascript
$('#updateadmin').click(function() {
var admin = $('#adminform').serializeArray();
/*alert(admin);*/
$.ajax({
type: "POST",
url: 'adminupdate.php',
data: admin,
success: function(data) {
if(data=="success") {
$('#admindiv').popup('close');
$.mobile.changePage('companyinfo.php', {
allowSamePageTransition: true,
transition: 'none',
reloadPage: true,
changeHash: false
});
} else {
$('#adminupdatestatus').html(data).css({color: "red"}).fadeIn(1000);
}
}
});
return false;
});
答案 0 :(得分:4)
听起来#updateadmin
链接/按钮位于重新加载的页面上,如果是这种情况,那么您应该委托您的事件处理程序,以便它一直影响DOM中的匹配元素,而不仅仅是当代码运行时。
你会改变这个:
$('#updateadmin').click(function() {
到此:
$(document).on("click", "#updateadmin", function() {
这是有效的,因为您现在将事件处理程序附加到始终存在的document
元素。当事件到达document
元素时,会检查它们以查看它们最初触发的元素是否与我们作为.on()
的第二个参数放置的选择器匹配。
.on()
的文档:http://api.jquery.com/on