form的onsubmit事件--表單提交前的驗證最佳實現方式

 

遇到了一個問題,頁面中include了很多的公共頁面(都是沒有form的),並且裏面好多的地方都是自行提交的(頁面中加入一個type=“submit”域,然後js中寫入sumbit.click來執行提交的)。但我需要在每次提交前都要驗證一下表單中的填寫是否符合要求,如果我給每個提交的地方都添加驗證函數的調用,那工作量就大了。

    這時我得需要一個措施,就是在表單提交前統一進行驗證。從body有頁面關閉前的事件onbeforeunload推想到,form應該也有提交前的事件,上網一查,真有,就是onsubmit。此事件的功能就是在表單提交前自動執行指定的東西。

    需要注意的是,οnsubmit=“return check()”中的return是一定要加上的,不然check的返回值哪怕是false,仍然提交。也就是說,οnsubmit=“return false”爲不執行提交;οnsubmit=“return true”或οnsubmit=“return ”都執行提交;

------------------------------------------

主頁面如下:

<HTML>

<HEAD>

<script type="text/javascript">

//form提交前,驗證:營銷活動最少選擇兩個
function check(){
    if(驗證條件不通過){
        return false;
    }else{

        return true;//不寫此返回值也行,此時就直接提交了

    }
}
</script>

</HEAD>
<body οnlοad="doOnLoad()">
<form id="queryForm" οnsubmit="return check()" action="<%=request.getContextPath()%>/FocReportServlet">

<jsp:include flush="true" page="../pub.jsp"/>
<jsp:include flush="true" page="../condition.jsp"/>
<jsp:include flush="true" page="condition_marketing.jsp"/>
<jsp:include flush="true" page="contrastChart.jsp"/>

<jsp:include flush="true" page="../pagectrl.jsp"/>

...

<input type="submit" id="submit" name="submit" style="visibility:hidden"/>

 

<HTML>

-----------------------------------

include頁面中提交方式:

<img src="<%=request.getContextPath()%>/focReport/images/control_play_blue.png" style="cursor:hand" οnclick="sending.style.visibility='visible';submit.click()" alt="點擊提交分析">

 

 

DWZ 中界面提示

 

alertMsg.confirm("確認刪除場地及所有相關信息(場位、業主、租戶、科目、收費)。此操作不可逆轉", {
    okCall : function() {
     ajaxTodo('${ctx}/lpcd/delete/${lpCd.id}', navTabAjaxDone);
    }
   });

 

 alertMsg.warn("請選擇場地!");

 

 

function checkInfo(){ //判斷多個複選框中是否選中
  $("input[name='org3.otherValues']").each(
   function(){
   if($(this).get(0).checked){
   return true;
    }
   });
  var org3_ids=$("#org3_ids").val();
  if(org3_ids!=''){
   return true;
  }
  
  alertMsg.warn("請選擇接收人!");
  return false;
 }

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章