Javascript 按Submit按钮重置所有字段的值(Java脚本)
当我按下提交按钮时,我需要检查“名字”和“父亲的名字”文本字段的长度,如果它们超过20个字符,我需要在文本字段前面显示一条红色的错误消息。我的代码运行得很好,只是它显示错误消息,所有东西都会在一秒钟内消失。我需要错误消息才能留在那里。下面是我的java脚本函数:Javascript 按Submit按钮重置所有字段的值(Java脚本),javascript,event-handling,html,innerhtml,Javascript,Event Handling,Html,Innerhtml,当我按下提交按钮时,我需要检查“名字”和“父亲的名字”文本字段的长度,如果它们超过20个字符,我需要在文本字段前面显示一条红色的错误消息。我的代码运行得很好,只是它显示错误消息,所有东西都会在一秒钟内消失。我需要错误消息才能留在那里。下面是我的java脚本函数: <head> <script type="text/javascript"> function validate() { var first
<head>
<script type="text/javascript">
function validate()
{
var firstName=document.f1.firname.value;
var fatherName=document.f1.fname.value;
var address=document.f1.add.value;
var phoneNumber=document.f1.ph.value;
var cnic=document.f1.cnic.value;
var email=document.f1.email.value;
var cgpa=document.f1.fname.value;
var sem=document.f1.sem.value;
var id=document.f1.cid.value;
if(firstName.length>20)
{
document.getElementById("fin").innerHTML="can't exceed 20 characters!";
}
if(fatherName.length>20)
{
document.getElementById("fn").innerHTML="can't exceed 20 characters!";
}
}
</script>
</head>
函数验证()
{
var firstName=document.f1.firname.value;
var fatherName=document.f1.fname.value;
var地址=document.f1.add.value;
var phoneNumber=document.f1.ph.value;
var cnic=document.f1.cnic.value;
var email=document.f1.email.value;
var cgpa=document.f1.fname.value;
var sem=document.f1.sem.value;
var id=document.f1.cid.value;
如果(firstName.length>20)
{
document.getElementById(“fin”).innerHTML=“不能超过20个字符!”;
}
如果(父名长度>20)
{
document.getElementById(“fn”).innerHTML=“不能超过20个字符!”;
}
}
相应的文本字段为:
<form name="f1" onsubmit="validate()">
Name : <input type="text" name="firname"> <span id="fin" style="color:red"></span> <br>
Father's Name: <input type="text" name="fname"> <span id="fn" style="color:red"></span><br>
</form>
名称:
父亲的名字:
试试这个:(@NeilThompson在评论中提到):
//put返回
并在javascript代码中输入return:
<head>
<script type="text/javascript">
function validate()
{
var flag = true;
var firstName=document.f1.firname.value;
var fatherName=document.f1.fname.value;
var address=document.f1.add.value;
var phoneNumber=document.f1.ph.value;
var cnic=document.f1.cnic.value;
var email=document.f1.email.value;
var cgpa=document.f1.fname.value;
var sem=document.f1.sem.value;
var id=document.f1.cid.value;
if(firstName.length>20)
{
document.getElementById("fin").innerHTML="can't exceed 20 characters!";
flag = false;
}
if(fatherName.length>20)
{
document.getElementById("fn").innerHTML="can't exceed 20 characters!";
flag = false;
}
return flag;
}
</script>
</head>
函数验证()
{
var标志=真;
var firstName=document.f1.firname.value;
var fatherName=document.f1.fname.value;
var地址=document.f1.add.value;
var phoneNumber=document.f1.ph.value;
var cnic=document.f1.cnic.value;
var email=document.f1.email.value;
var cgpa=document.f1.fname.value;
var sem=document.f1.sem.value;
var id=document.f1.cid.value;
如果(firstName.length>20)
{
document.getElementById(“fin”).innerHTML=“不能超过20个字符!”;
flag=false;
}
如果(父名长度>20)
{
document.getElementById(“fn”).innerHTML=“不能超过20个字符!”;
flag=false;
}
返回标志;
}
如果验证失败,函数返回false?@NeilThompson接下来会发生什么?我只希望我的错误消息留在那里如果验证失败,它会消失你的提交到哪里?可能它会刷新页面,结果所有内容都会重置。如果表单提交,则所有内容都会重置。如果出现问题时validate返回false(字段>20个字符),则表单不会提交和重置,因此您的验证消息可见感谢它的帮助,但是如果我想同时显示两个错误消息?如果我想同时显示两个错误消息怎么办?@Ahmed请参阅,我已更新了代码,这将允许您通过在函数末尾返回标志,同时显示两条消息。
<head>
<script type="text/javascript">
function validate()
{
var flag = true;
var firstName=document.f1.firname.value;
var fatherName=document.f1.fname.value;
var address=document.f1.add.value;
var phoneNumber=document.f1.ph.value;
var cnic=document.f1.cnic.value;
var email=document.f1.email.value;
var cgpa=document.f1.fname.value;
var sem=document.f1.sem.value;
var id=document.f1.cid.value;
if(firstName.length>20)
{
document.getElementById("fin").innerHTML="can't exceed 20 characters!";
flag = false;
}
if(fatherName.length>20)
{
document.getElementById("fn").innerHTML="can't exceed 20 characters!";
flag = false;
}
return flag;
}
</script>
</head>