gpt4 book ai didi

javascript - 当 jQuery 中的输入无效时,表单会错误地显示成功警报框

转载 作者:行者123 更新时间:2023-12-02 20:01:23 25 4
gpt4 key购买 nike

在下面的脚本中,我检查输入的电子邮件是否有效。它不是最好的正则表达式,但目前还可以。另外,目前我没有对输入进行任何服务器端检查。仅使用此脚本。

我有这个问题:
当电子邮件有效时,在我输入无效电子邮件后,我首先会收到您的电子邮件格式无效,然后我们启动时会通知您。谢谢!提醒。电子邮件也已发送。如何解决这个问题?

谢谢

这是我的表格

<form id="myform" action="" method="POST">
<input id="subscribe" name="subscribe" class="subscribe floatLeft" type="text">
<button id="signUp" class="signUp floatRight" ><intro>notify!</intro></button>
<div class="clear">&nbsp;</div>
</form>

这是脚本

var signUp = function(inputEmail) {
var isValid = true;
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if (!emailReg.test(inputEmail)) {
isValid = false;
alert('Your email is not in valid format');
}



$("#myform").submit(function(event) {
event.preventDefault();
if (!isValid) {
return false;
} else {
$.post('mailme.php', $("#myform").serialize(), function(data) {
alert('You will be notified when we launch. Thank you!');

});
return false;
}
});

};

最佳答案

需要onsubmit事件返回false;无论如何,您都需要绑定(bind)提交事件并在那里进行 isValid 检查;

$("#myform").submit(function(event){
event.preventDefault();
if(!isValid){
return false;
}else{
$.post(...)
return false;
}
});

--编辑--忘记返回 false/event.preventDefault;但就像我说的,提交事件无论如何都需要绑定(bind)

--编辑2--

function validEmail(email){
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return email.test(emailReg)
}
$(document).ready(function(){
$("#myform").bind({
submit: function(e){
e.preventDefault();
if(validEmail($("#myform").find("#subscribe").val()){
$.post(...)
alert("You will be notified");
return false;
}
else {
alert("Invalid email");
return false;
}

});

});}

关于javascript - 当 jQuery 中的输入无效时,表单会错误地显示成功警报框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7945601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com