連續2天,在進行form表單包括上傳表單的提交操作時,剛開始用struts2自帶的上傳模式與后台進行交互,但原來的頁面是用html做的,不能通過國際化資源來返回后台操作的錯誤信息於靜態的html,之后我又百度了許多ajax異步與后台交互的方法,如ajaxForm,ajaxSubmit,ajaxFileUpload等,用的是心力交瘁,各種錯誤拋出,然后還嘗試easyui的表單提交,還是不成...這一切的目的都是為了實現異步交互,不讓當前頁面跳轉,使用ajax實現文件上傳的異步刷新,最后還是死心了,使用傳統的struts2的result成功和錯誤跳轉;結構定了,接着,就是要在表單提交前統一進行驗證。心想,form應該也有提交前的事件,上網一查,真有,就是onsubmit。此事件的功能就是在表單提交前自動執行指定的東西。
js方法:
1 function check(){ 2 var name = document.getElementById("name").value; 3 if(name == null || name == ''){ 4 alert("用戶名不能為空"); 5 return false; 6 } 7 return true; 8 } 9 10 <form name="form" action="跳轉的頁面" method="post" onsubmit="return check()"> 11 <input type="text" id="name"/> 12 <input type="sumit" value="提交"/> 13 </form>
需要注意的是,onsubmit=“return check()”中的return是一定要加上的,不然check的返回值哪怕是false,仍然提交。也就是說,onsubmit=“return false”為不執行提交;onsubmit=“return true”或onsubmit=“return ”都執行提交。
