JavaScript form表单提交与验证

Posted 周十发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript form表单提交与验证相关的知识,希望对你有一定的参考价值。

原网址:https://blog.csdn.net/vipwxs/article/details/79119701

一、form对象的属性:

name:获取表单的名称,该name一般给JS使用

method:表单的提交方式   (get:不安全,数据量较小,不能上传附件)(post:相对安全 海量数据 能上传附件)

action:表单数据的处理程序 一般是php文件

enctype:表单数据的编码方式(加密)

application/x-www-form-urlencoded  默认                 multipart/form-data 可以上传附件

二,表单中通过name找对象:

通过name找对象,必须是document开头。一般在表单中使用name,其他标签用id  <div>用id

通过name找对象,必须符合三层结构      格式:document.formObj.elementObj

三,事件返回值:

事件的返回值,会影响事件的默认动作

如果事件的返回值为false,则阻止默认动作执行

如果事件的返回值为true或空,则默认动作执行

如果事件没有任何返回值,则默认动作执行

受影响的事件有两个:onclick、onsubmit

其它事件的返回值,不会影响默认动作

例如:<form name="form1" method="post" action="login.php" onsubmit="return checkForm()" > </form>  <!--这里必须要有"return ",checkForm()函数要有返回值true,false-->

四,表单提交的四种方法:

<form name="form1" method="post" action="login.php" onsubmit="return checkForm()" > </form> checkForm()需要return

 <input type="submit" value="提交表单" onclick="return checkForm()" />  checkForm()需要return

<input type="button" value="提交表单" onclick="return checkForm()" />  js中:checkForm(){document.form1.submit();} 不需要return

 

实例代码:表单简单验证:

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>表单简单验证</title>
</head>
<body>
<form action="login.php" name="form1" method="post" onsubmit="return checkForm()">
    <table width="600" border="1" bordercolor="#ccc" rules="all" align="center" cellpadding="5">
        <tr>
            <th colspan="3" bgcolor="#0f0f0f">用户登录</th>
        </tr>
        <tr>
            <td width="80" align="right">用户名:</td>
            <td><input type="text" name="userName" onfocus="onfocus_userName()" onblur="onblur_userName"/></td>
            <td width="350"><div id="result_username"></div></td>
        </tr>
        <tr>
            <td width="80" align="right">用户密码:</td>
            <td><input type="text" name="userPwd" onfocus="onfocus_userPwd()" onblur="onblur_userPwd"/></td>
            <td width="350"><div id="result_userPwd"></div></td>
        </tr>

        <tr>
            <td></td>
            <td colspan="2"><input type="submit" value="提交表单"/></td>
        </tr>
    </table>
</form>
<script type="text/javascript">
    /*用户名*/
    //获取焦点:当光标接入某个文本框时触发
function onfocus_userName(){
        /*获取id=result_username的元素对象*/
var divObj=document.getElementById("result_username");
        /*写入提示信息*/
divObj.innerHTML="请输入您的用户名:";
        divObj.style.color="#ccc";
    }
    //失去焦点:当光标离开某个文本框时触发
function onblur_userName(){
        /*获取name=userNameid=result_username的元素对象*/
var inputObj=document.form1.userName;
        var divObj=document.getElementById("result_username");
        /*用户名验证*/
if(document.form1.userName.value=""){
            divObj.innerHTML="对不起,用户名不能为空";
            divObj.style.color="red";
            return false;
        }else if(document.form1.userName.value.length<5||document.form1.userName.value.length>20){
            divObj.innerHTML="用户名长度必须介于5-20个字符之间";
            divObj.style.color="red";
            return false;
        }else{
            divObj.innerHTML="ok";
            return true;
        }
    }

    /*用户密码*/
    //获取焦点:当光标接入某个文本框时触发
function onfocus_userPwd(){
        /*获取id=result_userPwd的元素对象*/
var divObj=document.getElementById("result_userPwd");
        /*写入提示信息*/
divObj.innerHTML="请输入您的密码:";
        divObj.style.color="#ccc";
    }
    //失去焦点:当光标离开某个文本框时触发
function onblur_userPwd(){
        /*获取name=userPwdid=result_userPwd的元素对象*/
var inputObj=document.form1.userPwd;
        var divObj=document.getElementById("result_userPwd");
        /*用户密码验证*/
if(document.form1.userPwd.value=""){
            divObj.innerHTML="对不起,密码不能为空";
            divObj.style.color="red";
            return false;
        }else if(document.form1.userPwd.value.length<5||document.form1.userPwd.value.length>20){
            divObj.innerHTML="密码长度必须介于5-20个字符之间!";
            divObj.style.color="red";
            return false;
        }else{
            divObj.innerHTML="ok";
            return true;
        }
    }
    function checkForm(){
        var flag_userName=onblur_userName();
        var flag_userPwd=onblur_userPwd();
        if(flag_userName&&flag_userPwd){
            /*提交表单*/
return true;
        }else{
            //阻止表单提交
return false;
        }
    }
</script>
</body>
</html>

以上是关于JavaScript form表单提交与验证的主要内容,如果未能解决你的问题,请参考以下文章

javascript 中两个表单如何分别提交

JavaScript基础 submit按钮配合form的onsubmit实现表单的提交与验证

用javascript控制form表单只提交请求,而不跳转

javascript 表单提交传值 紧急

为啥使用了form表单之后页面会跳转,并且页面一片空白

javascript表单的命名