在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交。
先看以下简单的代码。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script language="javascript"> //---> function checksubmit() { if (document.form1.myname.value=="") { alert("请输入开始数值!"); document.form1.myname.focus(); return false; } return true; } //---> </script> <form name="form1" method="post" action="#" οnsubmit="return checksubmit()"> <label> <input name="myname" type="text" id="id"> </label> <p> <label> <input type="submit" name="Submit" value="提交"> </label> </p> </form>代码很简单。
注意以下几点:
1,在js中,是获得input的name,而不是id,往往这里的name和id一样。
2,οnsubmit="return checksubmit()" 这里的return不能省掉。
3,checksubmit()函数里面的return true;可以省去,因为默认是返回true;
在JavaScript中,阻止表单默认提交行为的方法有两种,分别是:
(1) return false
示例代码
? <form name="loginForm" action="login.aspx" method="post"> <button type="submit" value="Submit" id="submit">Submit</button> </form> <script> var submitBtn = document.getElementById("submit"); submitBtn.onclick = function (event) { alert("preventDefault!"); return false; }; </script>(2) 使用preventDefault()
在标准浏览器中,阻止浏览器默认行为使用event.preventDefault(),而在IE6~8中,使用returnValue属性来实现。
示例代码
<form name="loginForm" action="login.aspx" method="post"> <button type="submit" value="Submit" id="submit">Submit</button> </form> <script> var submitBtn = document.getElementById("submit"); submitBtn.onclick = function (event) { alert("preventDefault!"); var event = event || window.event; event.preventDefault(); // 兼容标准浏览器 window.event.returnValue = false; // 兼容IE6~8 }; </script> ?
以上就是利用JavaScript来阻止表单提交的两种方法的全部内容,希望本文的内容对大家使用JavaScript有所帮助。