gpt4 book ai didi

javascript - 验证文本框以便必须输入值

转载 作者:行者123 更新时间:2023-11-29 20:01:17 25 4
gpt4 key购买 nike

您好,我正在尝试获取此代码来验证文本框,因此它们必须包含一个值;如果他们不希望出现一条消息,说明字段不能为空。这是我写的代码:

<head>
<title>Exam entry</title>
<script language="javascript" type="text/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.gotElementById('name').style.color="red";
result = false;
}

if (document.ExamEntry.subject.value=="") {
msg+="You must enter the subject \n";
document.ExamEntry.subject.focus();
document.gotElementById('subject').style.color="red";
result = false;
}

if (document.ExamEntry.examno.value=="") {
msg+="You must enter an examination number \n";
document.ExamEntry.examno.focus();
document.gotElementById('examno').style.color="red";
result = false;

if(msg==""){
return result;
}

{
alert(msg)
return result;
}
}

</script>
</head>

<body>
<h1>Exam Entry Form</h1>
<form name="ExamEntry" method="post" action="success.html">
<table width="50%" border="0">
<tr>
<td id="name">Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td id="subject">Subject</td>
<td><input type="text" name="subject" /></td>
</tr>
<tr>
<td id="examno">Examination Number</td>
<td><input type="integer" name="examno" /></td>
</tr>

<tr>
<td><input type="submit" name="Submit" value="Submit" onclick="return validationFrom();" /></td>
<td><input type="reset" name="Reset" value="Reset" /></td>
</tr>

</table>
</form>
</body>

任何帮助都会非常感谢

最佳答案

  1. getElementById 而不是 gotelementById
  2. 使用全名代替保留字名
  3. 不要使用与表单名称相同的 ID - IE 会混淆
  4. 不要使用提交按钮的 onclick。而是使用表单提交
  5. 您可能不会被允许 POST 到 HTML 文件
  6. HTML5 支持 type="number"而不是 "integer"
  7. 为每个字段添加属性value

这是我的建议 - DEMO

我已经更改了标签 ID 并将名称更改为 fullName

function setError(fld,id,msg) {

if (fld.value=="") {
document.getElementById(id).className="error";
return msg;
}
document.getElementById(id).className="normal";
return "";

}
window.onload=function() {
document.getElementById("ExamEntry").onsubmit=function() {

var msg,msgs=[],focusField="";
msg=setError(this.fullName,"fullNameLabel","You must enter your name");
if (msg) { msgs.push(msg); focusField = this.fullName;}
msg=setError(this.subject,"subjectLabel","You must enter the subject");
if (msg) { msgs.push(msg); focusField = focusField || this.subject;}

var examno = this.examno;
msg = setError(examno,"examnoLabel","You must enter an examination number");
if (msg) { msgs.push(msg); focusField = focusField || examno;}
else {
if (isNaN( examno.value) || examno.value.length<4) {
msgs.push("You must enter a valid examination number");
document.getElementById("examnoLabel").className="error"
focusField = focusField || this.examno;
}
}
if(focusField) {
alert(msgs.join("\n"));
focusField.focus();
return false;
}
return true; // allow submission
}
}

关于javascript - 验证文本框以便必须输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14376882/

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