今天我学到了一些jQuery。
<script>
$('#mc-embedded-subscribe-form').on('submit', function(e){
e.preventDefault();
email=document.mc-embedded-subscribe-form.EMAIL.value;
$.post( "email.php", {email});
$('#fadeout').fadeOut(500);
$('#fadein').delay(500).fadeIn(500);
});
</script>
这是我在用户提交表单时运行的脚本。我遇到的问题是,一旦表单提交,我就会被重定向到email.php,而我想留在初始网页上。如果我删除该行
$.post( "email.php", {email});
其余的按预期工作。 email.php工作正常,它只是保存电子邮件。我该怎么做才能停止重定向?
答案 0 :(得分:1)
由于$.post()
行中出现错误,因此e.preventDefault()
未启动。请将代码编辑为以下内容:
$('#mc-embedded-subscribe-form').on('submit', function(e){
e.preventDefault();
email = $('[name=EMAIL]',this).val();
$.post( "email.php", {email:email}, function() {
$('#fadeout').fadeOut(500);
$('#fadein').delay(500).fadeIn(500);
});
});
答案 1 :(得分:1)
如果你想从客户端向服务器发布特定值,而不是使用$ .ajax方法,那么$ .post即:
<script>
$('#mc-embedded-subscribe-form').on('submit', function(e){
e.preventDefault();
email=document.mc-embedded-subscribe-form.EMAIL.value;
$.ajax({
url:"email.php";
data: email;
success:function(){
$('#fadeout').fadeOut(500);
$('#fadein').delay(500).fadeIn(500);
}
});
});
</script>
$ .ajax将特定值或值发布到服务器端而不重定向页面。