【发布时间】:2014-07-08 19:23:24
【问题描述】:
代码http://jsfiddle.net/Z9qP5/1/
我想在用户提交电子邮件后淡出我的表单。还有下一个问题。我只是无法捕捉到提交事件,所以我想要的是,如果出现成功消息,那么应该隐藏表单。我像这样使用:visible:
$('#mc-embedded-subscribe-form').submit(function (e) {
if($('#mce-success-response').is(':visible')){
$("#mc_embed_signup").hide();
}
});
#mce-success-response 是成功对话框。
我也试过了:
if( $("#mce-success-response").css('display') == 'block') {
}
但它不起作用。怎么了?
【问题讨论】:
-
看起来响应的可见性是在成功处理程序执行后设置的
-
问题是
mce-success-response元素在 ajax 调用之后显示,该调用再次在表单提交(ajax 提交)上初始化......所以当你的表单提交处理程序被称为mce-success-response元素尚未显示 -
我认为这种情况下你需要使用ajax
-
在这种情况下,一种可能的解决方案是在表单提交处理程序上触发自定义事件并使用该自定义事件来完成您的工作,而不是使用提交处理程序
-
问题是您试图在提交事件中隐藏内容。但是在发送工作之前会触发提交事件。
标签: javascript jquery