form的onsubmit事件

表单提交前的验证最佳实现方式

连续2天,在进行form表单包括上传表单的提交操作时,刚开始用struts2自带的上传模式与后台进行交互,但原来的页面是用html做的,不能通过国际化资源来返回后台操作的错误信息于静态的html,之后我又百度了许多ajax异步与后台交互的方法,如ajaxForm,ajaxSubmit,ajaxFileUpload等,用的是心力交瘁,各种错误抛出,然后还尝试easyui的表单提交,还是不成…这一切的目的都是为了实现异步交互,不让当前页面跳转,使用ajax实现文件上传的异步刷新,最后还是死心了,使用传统的struts2的result成功和错误跳转;

结构定了,接着,就是要在表单提交前统一进行验证。心想,form应该也有提交前的事件,上网一查,真有,就是onsubmit。此事件的功能就是在表单提交前自动执行指定的东西。

js方法:

function check(){
   var name = document.getElementById("name").value;
   if(name ==  null || name == ''){
        alert("用户名不能为空");
        return false;
   }
   return true;
}

<form name="form" action="跳转的页面" method="post"  onsubmit="return check()">
  <input type="text" id="name"/>
  <input type="sumit" value="提交"/>
</form>

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

Comments: 0

「人生在世,留句话给我吧」

提交评论