Javascript 提交功能-显示警告消息
当用户在输入框中键入某些文本时,我试图显示一条警告消息。问题是我只想返回false一次,这样用户即使不更改文本,也可以在第二次单击时提交表单。我尝试添加一个计数器,但jquery在第二次单击sumbit时记不住计数。最好的办法是什么Javascript 提交功能-显示警告消息,javascript,jquery,Javascript,Jquery,当用户在输入框中键入某些文本时,我试图显示一条警告消息。问题是我只想返回false一次,这样用户即使不更改文本,也可以在第二次单击时提交表单。我尝试添加一个计数器,但jquery在第二次单击sumbit时记不住计数。最好的办法是什么 if (email.val().indexOf("gmail") > -1)) { $('input[name=email]').css('border-color','red'); $("#submi
if (email.val().indexOf("gmail") > -1))
{
$('input[name=email]').css('border-color','red');
$("#submit").after('<p>Error - Do you want to use a gmail account?</p>');
return false;
}
if(email.val().indexOf(“gmail”)>-1))
{
$('input[name=email]').css('border-color','red');
$(“#提交”)。之后(“错误-您想使用gmail帐户吗?”);
返回false;
}
我会使用一个标志来确定他们是否已经尝试提交,如果他们没有,那么您会给他们警告并返回false:
var triedSubmit = false;
$(/* Your jQuery Object */).click(function() {
if (email.val().indexOf("gmail") > -1))
{
if (!triedSubmit){
$('input[name=email]').css('border-color','red');
$("#submit").after('<p>Error - Do you want to use a gmail account?</p>');
triedSubmit = true;
return false;
}
}
}
var triedSubmit=false;
$(/*您的jQuery对象*/)。单击(函数(){
如果(email.val().indexOf(“gmail”)>-1))
{
如果(!triedSubmit){
$('input[name=email]').css('border-color','red');
$(“#提交”)。之后(“错误-您想使用gmail帐户吗?”);
triedSubmit=true;
返回false;
}
}
}
只需设置某种标志即可
var flags = {}; // in some higher scope
// then later, in your verification function
if (email.val().indexOf("gmail") > -1 && !flags.warnedGmail) {
$('input[name=email]').css('border-color','red');
$("#submit").after('<p>Error - Do you want to use a gmail account?</p>');
flags.warnedGmail = true;
return false;
}
var标志={};//在更高的范围内
//然后,在您的验证函数中
if(email.val().indexOf(“gmail”)>-1&&!flags.warnedGmail){
$('input[name=email]').css('border-color','red');
$(“#提交”)。之后(“错误-您想使用gmail帐户吗?”);
flags.warnedGmail=true;
返回false;
}
为什么不在文本框中放置一个类,并在第一次失败时将其删除?因此,当您第二次使用jQuery查找它时,您将无法找到它,也无法应用规则。我是这样说的:
var submit = function()
{
var email = $('.emailFirstTry')
if (email.length > 0 && email.val().indexOf("gmail") > -1)
{
$('input[name=email]').css('border-color','red');
$("#submit").text('Error - Do you want to use a gmail account');
$('.emailFirstTry').removeClass('emailFirstTry');
return false;
}
$('input[name=email]').css('border-color','none');
$("#submit").text('Success!');
return true;
};
你可以在这把小提琴上看到它的动作:
希望有帮助:)您可能需要查看javascript的
确认功能<一旦函数返回,代码>标志将超出范围。请注意,flags
需要是一个全局变量。它不一定是全局变量,只是在更高的范围内,更清晰