以下是我使用JavaScript验证的简单HTML表单的代码。如果字段为空,我只想返回错误消息。
目前,该网页直接进入success.html页面而未初始化javascript。任何帮助将不胜感激!
好的,所以我做了一些改动,但仍然无法正常工作。这是编辑过的代码:
function validateForm() {
var result = true;
var msg="";
if (document.ExamEntry.name.value==="") {
msg+="You must enter your name \n";
document.ExamEntry.Name.focus();
document.getElementById('name').style.color="red";
result = false;
}
if (document.ExamEntry.subject.value==="") {
msg+="You must enter the subject \n";
document.ExamEntry.Subject.focus();
document.getElementById('subject').style.color="red";
result = false;
}
if(msg===""){
return result;
}else{
alert(msg)
return result;
感谢所有的贡献
答案 0 :(得分:0)
围绕以下if
语句后面的逻辑的圆括号
if (msg !== "") {
return result;
} {
alert(msg)
return result;
}
简单地说,你应该写:
if (msg !== "") {
return result;
}
alert(msg);
return result;
答案 1 :(得分:0)
我读错了还是你的if
陈述逻辑倒退了?
if (document.ExamEntry.name.value !== "") {
msg += "You must enter your name \n";
document.ExamEntry.name.focus();
document.getElementById('name').style.color = "red";
result = false;
}
if (document.ExamEntry.subject.value !== "") {
msg += "You must enter the subject \n";
document.ExamEntry.subject.focus();
document.getElementById('subject').style.color = "red";
result = false;
}
默认情况下, result
为true。如果你没有为这两个字段输入值,那么!==""将为false(因为它确实等于空字符串),因此result
将保留true
,这将启用表单提交。
尝试:
if (document.ExamEntry.name.value === "") {
msg += "You must enter your name \n";
document.ExamEntry.name.focus();
document.getElementById('name').style.color = "red";
result = false;
}
if (document.ExamEntry.subject.value === "") {
msg += "You must enter the subject \n";
document.ExamEntry.subject.focus();
document.getElementById('subject').style.color = "red";
result = false;
}
另外,正如其他人指出的那样,你错过了一个else语句:
if (msg !== "") {
return result;
} else {
alert(msg)
return result;
}
最后,你提到这是Java。这是JavaScript。不,JavaScript不仅仅是Java的较小版本。这是一种非常不同的语言。
答案 2 :(得分:0)
看起来你要与非空字符串进行比较,而比较应该是空字符串,即if(document.ExamEntry.name.value!==“”){应该更改为if(文档。 ExamEntry.name.value ==“”){
这意味着要在文本框中检查非空字符串并重定向到相应的页面(成功页面)。
同时将警报(msg)移动到if(msg!==“”)块。我想你想在空文本框的情况下提醒用户。