0

我有一个带有弹出 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;
});
4

1 回答 1

5

听起来#updateadmin链接/按钮位于重新加载的页面上,如果是这种情况,那么您应该委托您的事件处理程序,以便它始终影响 DOM 中的匹配元素,而不仅仅是在代码运行时。

你会改变这个:

$('#updateadmin').click(function() {

对此:

$(document).on("click", "#updateadmin", function() {

这是有效的,因为您现在将事件处理程序附加到document始终存在的元素上。当事件到达document元素时,会检查它们最初触发的元素是否与我们作为第二个参数放置的选择器匹配.on()

文档.on()http ://api.jquery.com/on

于 2012-12-11T22:33:12.527 回答