Javascript 按Submit按钮重置所有字段的值(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

当我按下提交按钮时,我需要检查“名字”和“父亲的名字”文本字段的长度,如果它们超过20个字符,我需要在文本字段前面显示一条红色的错误消息。我的代码运行得很好,只是它显示错误消息,所有东西都会在一秒钟内消失。我需要错误消息才能留在那里。下面是我的java脚本函数:

<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>