0
我在使用jquery.simpleModal的模式窗口中创建窗体。由于simpleModal克隆了初始div的内容以创建模态对话框,所以我必须在创建模态对话框后重新绑定事件处理程序。我的代码看起来是这样的:Javascript事件处理程序未触发
function showForm() {
$('div.contactUs').modal({
opacity: 80,
overlayClose: true,
autoResize: true
});
var container = $('.simplemodal-container');
container.find('li.phone input').mask('(999) 999-9999');
container.find('li.comments textarea').maxChar(1000, { indicator: 'div.commentLength span' });
container.find('form').submit(function() {
try {
var form = $(this);
var action = form.attr('action');
var data = form.serialize();
$.post(action, data, function (result) {
form.html(result);
showForm();
});
} catch (e) {
alert(e);
}
return false;
});
}
不过,如果我打开模态对话框,然后将其关闭,然后再次打开它,它看来,表单提交处理程序未连接(打开模态对话框第二次并点击完整页面回发提交结果,而不是踢入ajax处理程序)。我已经验证了其他东西正在重新绑定(输入掩码和最大字符限制的东西),那么为什么提交处理程序不是?
这确实解决了它,但我仍然想知道为什么重新绑定不起作用。如果有人能回答我会给他们答案。否则,我会给你信贷。 – Chris 2011-01-27 18:23:54