Javascript 表单在jQuery中输入无效时错误地显示成功警报框
在下面的脚本中,我检查输入的电子邮件是否有效。这不是最好的正则表达式,但现在还可以。目前我也没有对输入进行任何服务器端检查。仅使用此脚本 但我有这个问题:Javascript 表单在jQuery中输入无效时错误地显示成功警报框,javascript,jquery,Javascript,Jquery,在下面的脚本中,我检查输入的电子邮件是否有效。这不是最好的正则表达式,但现在还可以。目前我也没有对输入进行任何服务器端检查。仅使用此脚本 但我有这个问题: 当一封电子邮件是有效的,并且在我键入一封无效的电子邮件后,我首先会收到您的电子邮件格式无效的消息,然后在我们启动时会通知您。非常感谢。警觉的。电子邮件也会被发送。如何解决这个问题 多谢各位 这是我的表格 <form id="myform" action="" method="POST"> <i
当一封电子邮件是有效的,并且在我键入一封无效的电子邮件后,我首先会收到您的电子邮件格式无效的消息,然后在我们启动时会通知您。非常感谢。警觉的。电子邮件也会被发送。如何解决这个问题 多谢各位 这是我的表格
<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"> </div>
</form>
您需要在
emailReg
测试中返回false
或事件.preventDefault()
。您需要onsubmit事件返回false;
您仍然需要绑定submit事件,并在那里进行isValid检查
$("#myform").submit(function(event){
event.preventDefault();
if(!isValid){
return false;
}else{
$.post(...)
return false;
}
});
--编辑--
忘记返回false/event.preventDefault;但正如我所说,提交事件无论如何都需要绑定
--编辑2--
}));
}这将有助于:@asotshia显示您的HTML,从那里您可以调用
注册
。您可以使用Darhazer建议的方法和/或在$(文档)中使用我的答案。ready()。我尝试了返回false代码>就在之后,您的电子邮件不是…
没有结果。您需要onsubmit事件返回错误。谢谢您的建议。我设法防止重新加载。但是我更新了我的问题,如果你看一下,我会非常感激。你更新的方式应该有效,但有点麻烦…,你是把onsubmit=“signUp(this.elements[0])”作为行动还是类似的东西?如果您只在document.ready上绑定提交事件并在那里进行检查,我想这就足够了。我会在我的回答中加入一个代码建议,但我仍然不确定您将其命名为何处。您需要获取电子邮件值的位置,在提交事件中也需要此位置。我的意思是,当用户在提交时按下时,您需要输入值。:)如果使用,请执行一些console.log/alert。检查正在使用函数验证的电子邮件值。还编辑和更改了#myInput和#subscribe以匹配您的html
$("#myform").submit(function(event){
event.preventDefault();
if(!isValid){
return false;
}else{
$.post(...)
return false;
}
});
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;
}
});