form 中的onsubmit在点submit按钮时被触发,如果return false;则结果不会被提交到action中去(也就是提交动作不会发生),如果不返回或者返回true,则执行提交动作。(<a onclick=”return confirm(‘是否跳转到百度?’);” href=”http://www.baidu.com”>baidu</a>也同理),下面是一个例子程序。
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>html form onsubmit使用</title> <script type="text/javascript"> alert("加载此页面时执行"); function buttonSubmit(){ document.form1.submit(); } </script> </head> <body> <a onclick="return confirm('是否跳转到百度?');" href="http://www.baidu.com">baidu</a> <form name="form1" onsubmit="return confirm('是否进行提交?');"> <input type="submit" value="submit" /> <input type="button" value="button" onClick="buttonSubmit();" </form> </body> </html>
结论:
1.如果html中使用form的onsubmit进行提交前的数据验证,需要验证函数返回一个布尔值,而且要写成onsubmit=”return 函数名();” return不能少,否则无论函数返回true还是false都能够提交,达不到验证的目的。
2.只能使用sunmit按钮进行提交才触发onsubmit事件,button按钮的提交不能触发onsubmit事件。