form表单提交方法案例分析

来自:https://jiuaidu.com/jianzhan/816210/

<script type="text/javascript">
 function check0(form) {
      if(form.userid.value=='') {
            alert("请输入用户帐号!");
            form.userid.focus();
            return false;
       }
       if(form.password.value==''){
            alert("请输入登录密码!");
            form.password.focus();
            return false;
         }
         return true;
 }
 
 function check1(form) {
  if(form.userid.value=='') {
        alert("请输入用户帐号!");
        form.userid.focus();
        return false;
   }
   if(form.password.value==''){
        alert("请输入登录密码!");
        form.password.focus();
        return false;
    }
      document.myform.submit();
}
            
function check2(form) {
  if(form.userid.value=='') {
        alert("请输入用户帐号!");
        form.userid.focus();
        return false;
   }
   if(form.password.value==''){
        alert("请输入登录密码!");
        form.password.focus();
        return false;
    }
    return true;
}
         
</script>
<form action="login.do?act=login" method="post">
    <label>type='submit' button中有onclick事件校验数据</label><br>
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
           <input type=submit name="submit1" value="登陆" onclick="return check0(this.form)">  
</form>

<br><br><br>
<form action="login.do?act=login" name="myform" method="post">
    <label>type='button' button中有onclick事件校验数据,不具备提交功能,在click事件中使用sumit()的方式实现提交</label><br>
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
    <input type=button name="submit1" value="登陆" onclick="check1(this.form)">  
</form>

<br><br><br>
<form action="login.do?act=login" method="post" onsubmit="return check2(this)">
    <label>type='submit' button提交form,在form上有onsubmit事件校验数据</label><br>
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
    <input type=submit name="submit1" value="登陆"> 
</form> 

<br><br><br>
<form action="">
    <label>action为空,button按钮没有执行任何函数,但是点击按钮后,页面刷新</label><br>
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
    <button onclick=""> button </button><br>
    <label>button默认type=submit</label>
</form> 
可用于校验的html文件

一、type='submit' button中有onclick事件校验数据

利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由javascript里函数判断输入内容是否为空,如果为空,返回false, 不提交,如果不为空,提交到由action指定的地址。

<script type="text/javascript">
         function check(form) {
              if(form.userid.value=='') {
                    alert("请输入用户帐号!");
                    form.userid.focus();
                    return false;
               }
               if(form.password.value==''){
                    alert("请输入登录密码!");
                    form.password.focus();
                    return false;
                 }
                 return true;
         }
</script>
<form action="login.do?act=login" method="post">
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
           <input type=submit name="submit1" value="登陆" onclick="return check(this.form)">  
</form>

二、type='button' button中有onclick事件校验数据,不具备提交功能,在click事件中使用sumit()的方式实现提交

利用button按钮实现提交,当点击button按钮时,触发onclick事件,由javascript里函数判断输入内容是否为空,如果为空,返回false, 不提交,如果不为空,提交到由action指定的地址,由于button按钮不具备自动提交的功能,所以由javascript实现提交。

<script type="text/javascript">
         function check(form) {
              if(form.userid.value=='') {
                    alert("请输入用户帐号!");
                    form.userid.focus();
                    return false;
               }
               if(form.password.value==''){
                    alert("请输入登录密码!");
                    form.password.focus();
                    return false;
                }
                  document.myform.submit();
            }
    </script>
<form action="login.do?act=login" name="myform" method="post">
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
    <input type=button name="submit1" value="登陆" onclick="check(this.form)">  
</form>

三、type='submit' button提交form,在form上有onsubmit事件校验数据

利用submit按钮实现提交,当点击submit按钮时,先触发onsubmit事件,由javascript里函数判断输入内容是否为空,如果为空,返回false, 不提交,如果不为空,提交到由action指定的地址。

<script type="text/javascript">
         function check(form) {
              if(form.userid.value=='') {
                    alert("请输入用户帐号!");
                    form.userid.focus();
                    return false;
               }
               if(form.password.value==''){
                    alert("请输入登录密码!");
                    form.password.focus();
                    return false;
                }
                return true;
         }
</script>
<form action="login.do?act=login" method="post" onsubmit="return check(this)">
    用户帐号<input type=text name="userid" size="18" value="" ><br>
    登录密码<input type="password" name="password" size="19" value=""/>      
    <input type=submit name="submit1" value="登陆"> 
</form> 

总结:

1、form表单在提交后会跳转action属性中的地址,若action属性若为空,则刷新当前页面

2、button按钮默认type=submit,type=submit会触发表单提交,type='button' 不会触发提交事件

 

 对于AmazeUI form验证

  • form加上data-am-validator才能使验证生效
  • 提交时进行表单验证,formValidity为true通过验证
    • var formValidity = $('#addPopu').validator('isFormValid'); //true/false

 参考:https://www.jb51.net/html5/741775.html

 

posted @ 2022-05-27 15:27  声声慢43  阅读(1118)  评论(0编辑  收藏  举报