页面刷新后Jquery Mobile提交按钮不起作用

时间:2012-12-11 22:08:56

标签: ajax jquery-mobile

我有一个单页标记,弹出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;
});

1 个答案:

答案 0 :(得分:4)

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

你会改变这个:

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

到此:

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

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

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