我以前问过这个问题,所以其他帖子可能已经关闭了。但是,我没有得到完整的正确答案,代码中似乎总是缺少一些东西。我需要提交一封电子邮件,得到一个模态框(与确认msg),有模态淡出后3秒,并在成功提交,另一个页面加载。
基本上,模态框褪色太快了。我想放慢速度。有人建议我去掉
</form><form>
标签。虽然当我删除这些标签时,模态确实变慢了,但现在我在提交后没有得到"欢迎"页面。这个页面似乎只是回贴自己,而不是提交。我已经试了五天了,我不知道我做错了什么……谢谢大家的回答。谢谢。
下面是我的代码:<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js">
</script>
<script src="http://recp.rm04.net//ui/library/formValidate.js" language="javascript">
</script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-
lightness/jquery-ui.css" rel="stylesheet" type="text/css">
<STYLE TYPE="text/css">
BODY, .BODY, TD
{ color: ;
font-size: ;
font-family: ;
font-weight: ;
text-decoration: ;
font-style: ;
}
</STYLE>
</head>
<body vlink="" alink="" link="" bgcolor="">
<!-- demo -->
<div class="demo">
<div id="dialog" title="Basic dialog">
<p>Email submitted successfully. Thank you for signing up!</p>
</div>
</div>
<!-- End demo -->
<br>
<br>
<table border="0" cellspacing="0" cellpadding="5">
<form name="form" method="post" action="http://links.mkt41.net/servlet/UserSignUp?
f=755449&postMethod=HTML&m=0&j=MAS2">
<tr>
<td valign="top"><span style="color:#CC0000">*</span></td><td valign="top"
align="left">Email:</td>
<td><input type="hidden" name="EMAIL_REQUIRED" value="T"><input type="hidden"
name="EMAIL_DATATYPE" value="email"><input type="text" name="EMAIL" value=""
maxlength="4000"></td>
</tr>
</form>
<form>
<tr>
<td align="center" colspan="3">
<div id="opener">
<input type="button" name="submit" value="Submit" onClick="f_validateForm()"></div>
<script src="js/modal_e-confirm.js" language="javascript"></script>
</td>
</tr>
</form>
</table>
<p>
</p>
<script>f_initializeForm();</script>
</body>
</html>
这是我从Rusty Jeans那里得到帮助的jQuery。
$('form').submit(function (e) {
e.preventDefault();
$.post('http://links.net/servlet/UserSignUp?
f=755449&postMethod=HTML&m=0&j=MAS2&EMAIL_REQUIRED=T&EMAIL_DATATYPE=email', {
EMAIL: $('input[name=EMAIL]').val()
},
function (data) {
$( "#dialog" ).dialog( "open" );
});
});
$( "#dialog" ).dialog({
autoOpen: false,
show: "fade",
hide: "fade",
open: function(event, ui) {
var dlg = $(this);
setTimeout(function(){
dlg.dialog("close");
},
3000);
},
modal: true,
opacity: 1
});
经过多次调查,我发现一个.php脚本正在加载一个欢迎页面。我不懂PHP,但这个动作影响了我的模式弹出的行为。当欢迎页面的功能被移除后,模态就像预期的那样工作了。