我需要做的是以下内容:
name
或email
为空,则提醒'空字段'email
不包含@ 如果name
和email
都填写正确,则提示“成功”
function test10(email, name){
if(email=="") {
alert("empty field");}
else if(email.indexOf("@")<0){
alert("bad email");}
if(name=="") {
alert("empty field");}
}
这是我到目前为止所提出的,我希望尽可能简单。现在,当两者都被填写时,我将如何以同样的方式说出“成功”?我需要纯粹在javascript中完成。
可能值得一提的是,我对javascript很新,所以如果你觉得这很愚蠢,请继续侮辱我,我只是想在这里学习。
答案 0 :(得分:4)
试试这个:
function test10(email, name){
// The || is a boolean "OR" , so if (email equals "") OR (name equals "")
// then alert the failure reason.
if(email=="" || name == "") {
alert("empty field");
return false;
}
if(email.indexOf("@") == -1){
alert("bad email");
return false;
}
//Conditions are met.
alert("Succes!");
return true;
}
这与您指定的完全一样。
答案 1 :(得分:1)
要么在函数末尾放置一个最后的else子句并从那里提醒成功消息,要么每当遇到错误就可以从函数返回,确保在遇到错误时停止该函数继续运行输入无效。然后,您可以在功能结束时发出警告,表示成功,因为您仍然无法达到这一点,因为输入中仍然存在错误。
这样的事情:
function test10(email, name){
if (email === "" || name === "") {
alert("empty field");
return false;
}
if(email.indexOf("@")<0){
alert("bad email");
return false;
}
// If we get here, the input is all good!
alert("success");
return true;
}
像这样,您只会一次提醒用户一个错误,给她时间来修复该错误,而不是在没有满足您的规则的情况下互相抛出三个警报。
从函数返回false / true有一个好处,即如果输入无效,该函数可用于停止表单提交。
替代验证方法
使用HTML5,引入了数据表单验证,使用required
和pattern
等属性提供验证的本机选项。如果您使用新的<input type="email">
More extensive reading可在MDN上找到。
答案 2 :(得分:1)
试试这个
function test10(email, name){
if(email=="" || name=="") {
alert("empty field");}
else if(email.indexOf("@")<0){
alert("bad email");}
else{
alert("success");}
}
答案 3 :(得分:0)
只需在每个错误的情况下添加return
语句
function test10(email, name)
{
if(email=="") {
alert("empty field");
return false;
}
if(email.indexOf("@")<0){
alert("bad email");
return false;
}
if(name=="") {
alert("empty field");
return false;
}
alert("success");
return true;
}
注意:您需要在表单事件onsubmit="return test10(email,name);"