遇到了一個問題,頁面中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;
}