本文實例分析了JS兩種類型的表單提交方法。分享給大家參考,具體如下:
1.原始的
<form method="post" action="/student/stureg/add" id="form1" onsubmit="return subForm();"> <button type="submit" class="button red" style="font-size:18px; font-family:'微软雅黑';">提 交</button>
這裡的button提交之後,執行subForm()方法,subForm可以對表單進行驗證,返回false,表單不提交。否則提交。
function subForm() { var flag = true; $(".required").each(function(){ if(!$(this).val()) { flag = false; $(this).css({ border: "1px solid #F56939",borderRadius:"5px",color:"#F56939",height:"26px"}); $(this).attr("status","1").val("此处为必填项,请您填写!"); } }); /*$(".idCardNo").each(function(){ if(!idCardNo($(this).val())) { flag = false; $(this).css({ border: "1px solid #F56939",borderRadius:"5px",color:"#F56939",height:"26px"}); if($(this).attr("status")!=1){ $(this).attr("status","1").val("请填写正确的身份证号码!"); } } });*/ var reg = new RegExp("^[0-9]*$"); $(".number").each(function(){ if(!reg.test($(this).val())) { flag = false; $(this).css({ border: "1px solid #F56939",borderRadius:"5px",color:"#F56939",height:"26px"}); if($(this).attr("status")!=1){ $(this).attr("status","1").val("请填写正确的联系电话!"); } } }); $(".exCardNo").each(function(){ if(exCardNo($(this).val())==1) { flag = false; $(this).css({ border: "1px solid #F56939",borderRadius:"5px",color:"#F56939",height:"26px"}); if($(this).attr("status")!=1){ $(this).attr("status","1").val("此身份证已报名!"); } } }); return flag; }
各種驗證!
2.js設定的提交
<form method="post" action="/student/stureg/reglogin" id="form_login"> <a id="submit"><img src="/images/login/login_bt.png" style="cursor:pointer"/></a>
這裡並不是提交按鈕,而是一個模擬提交的按鈕。
$("#submit").click(function(){ if(loginForm()) { $("#form_login").submit(); } });
觸發提交事件,這裡用
onsubmit="return loginForm();"就沒效果了,不管是否回傳false都會提交。所以要在真正提交之前,先先做一下驗證。
function loginForm(){ var flag = true; $(".notnull").each(function(){ if(!$(this).val()) { flag = false; $(this).css({ border: "1px solid #F56939",borderRadius:"5px",color:"#F56939",height:"26px"}); $(this).attr("status","1").val("不能为空"); } }); return flag; }
回傳false,就不呼叫submit方法。
這就是兩種處理表單提交前奏的方式。