最近在做验证的时候遇到了submit()与onsubmit()事件冲突的问题,本来想在a标签中添加submit()进行表单的提交,然后在 form中添加onsubmit事件触发验证方法。结果行不通,最后只能选择在java script中进行表单的提交。方案如下:

 

设置form头部如下:添加id是为了在java script脚本中进行中获取form对象

<form method="post" action="AdminServlet" id="Loginform" > 

在a标签中添加onClick()事件,触发java script表单验证的方法loginLayoutValidate()

<a href="javascript:void(0)"   onClick="loginLayoutValidate()"/> 
    function loginLayoutValidate(){  
        var userName=document.getElementById("userName");  
        var passWord= document.getElementById("passWord");  
        var validateCode=document.getElementById("validateCode");  
        if(userName.value.trim()==""){  
            alert("用户名不能为空");  
            return ;  
        }  
        else if(passWord.value.trim()==""){  
            alert("密码不能为空");  
            return ;  
        }  
        else if(validateCode.value.trim()==""){       
            alert("请输入验证码");  
            return ;  
        }  
        else{  
                document.getElementById("Loginform").submit();  
        }     
    }    

 例子:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
    function submitcheck() {
        if (document.getElementById('name').value == '') {
            alert('必须输入网站名!');
            document.getElementById('name').focus();
            return false;
        } else if (document.getElementById('ftp_url').value == '') {
            alert('必须输入Ftp地址!');
            document.getElementById('ftp_url').focus();
            return false;
        } else {
            document.getElementById('fm_1').submit();
        }
    }
    </script>
</head>

<body>
    <form action="#" id="fm_1" name="fm_1">
        <input type="text" id="name" name="name" required="required">*
        <br>
        <input type="text" id="ftp_url" name="ftp_url">*
        <br>
        <input type="submit" value="提交">
        <br>
        <input type="reset" value="重置">
        <br>
        <a href="javascript:void(0)" onclick="checkform()">提交</a>
        <br><a href="#" onclick="document.fm_1.reset()">重置</a>
    </form>
</body>

</html>

 

posted on 2016-07-29 18:31  JeremyLee87  阅读(2062)  评论(0编辑  收藏  举报