|
Dnes som narazil na problém, stránka obsahuje veľa verejných stránok (všetky bez formulára) a mnohé miesta sú samoodoslané (pridajte pole type="submit" na stránku a potom napíšte sumbit.click v js na vykonanie commit). Ale potrebujem overiť, či vyplnenie formulára spĺňa požiadavky pred každým odoslaním, a ak pridám volanie do validačnej funkcie pri každom podaní, bude to veľa práce. Musím s tým niečo urobiť, a to overiť formulár jednotne pred jeho odoslaním. Z tela má udalosť onbeforeunload pred zatvorením stránky, z čoho vyplýva, že formulár by mal mať aj udalosť precommituonsubmit。 Funkciou tejto udalosti je automatizovať vykonanie špecifikovanej veci pred odoslaním formulára. Treba poznamenať, že vrátenie v onsubmit="return check()" musí byť pridané, inak aj keď je hodnota vrátenia check nepravdivá, stále bude odoslaný. To znamená, onsubmit="return false" neznamená vykonať commit; onsubmit="return true" alebo onsubmit="return" oba vykonávajú commit; ------------------------------------------ Hlavná stránka je nasledovná: <HTML> <HEAD> <scrip{filter}t type="text/javascrip{filter}t"> //form提交前,验证:营销活动最少选择两个 Function check(){ if(validation condition fails) { return false; }else{ return true; Nemôžete tiež napísať túto vrátenú hodnotu, ale môžete ju odoslať priamo }
} </scrip{filter}t> </HEAD> <body> <form id="queryForm" onsubmit="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" meno="submit" style="visibility:hidden"/> <HTML> ----------------------------------- Priložiť stránku: <img src="<%=request.getContextPath()%%>/focReport/images/control_play_blue.png" style="cursor:hand"#323e32" face="simsun">submit.click()" alt="Kliknite na odoslanie analýzy" >
|