html form 中的onsubmit在点submit按钮时被触发,如果return false;则结果不会被提交到action中去(也就是提交动作不会发生),如果不返回或者返回true,则执行提交动作。onsubmit和action两个都是提交时出发的,不过:onsubmit是在表单中的确认按钮被点击时出发的,一般是js函数,而action是在按钮被点击之后出发的,一般是出发前台提交到后台的请求,而引起后台的回应。(<a οnclick=”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 οnclick="return confirm('是否跳转到百度?');" href="http://www.baidu.com">baidu</a>
<form name="form1" οnsubmit="return confirm('是否进行提交?');">
<input type="submit" value="submit" />
<input type="button" value="button" onClick="buttonSubmit();"
</form>
</body>
</html>
结论:
1.如果html中使用form的onsubmi属性t进行提交前的数据验证,需要验证函数返回一个布尔值,而且要写成οnsubmit=”return 函数名();” return不能少,否则无论函数返回true还是false都能够提交,达不到验证的目的。
2.只能使用sunmit按钮进行提交才触发onsubmit事件,button按钮的提交不能触发onsubmit事件