onsubmit只能表单上使用,提交表单前会触发, onclick是按钮等控件使用, 用来触发点击事件。
在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onclick中验证,也可以在onsubmit中验证。
但是onclick比onsubmit更早的被触发
1、用户点击按钮 —->
2、触发onclick事件 —->
3、onclick返回true或未处理onclick —->
4、触发onsubmit事件 —->
5、onsubmit未处理或返回true ——>
6、提交表单.
onsubmit处理函数返回false,onclick函数返回false,都不会引起表单提交。
<script language="javascript"> function CheckPost () { if (addForm.user.value == "") { alert("请填写用户名!"); addForm.username.focus(); return false; } if (addForm.title.value.length < 5) { alert("标题不能少于5个字符!"); addForm.title.focus(); return false; } return true; } </script> <form action="test.php" method="post" name="addForm" onsubmit="return CheckPost();"> <p>用户:<input type="text" size="10" name="user" maxlength="20"/></p> <p>标题:<input type="text" name="title" maxlength="50"/></p> <p>内容:<textarea name="content" rows="8" cols="30"></textarea></p> <p> <input type="submit" name="submit" value="发表留言"/> </p> </form>
<script language="javascript"> 2 function SendForm () 3 { 4 if(CheckPost()) 5 { 6 document.addForm.submit(); 7 } 8 } 9 10 function CheckPost () 11 { 12 if (addForm.user.value == "") 13 { 14 alert("请填写用户名!"); 15 addForm.username.focus(); 16 return false; 17 } 18 if (addForm.title.value.length < 5) 19 { 20 alert("标题不能少于5个字符!"); 21 addForm.title.focus(); 22 return false; 23 } 24 return true; 25 } 26 </script> 27 28 <form action="test.php" method="post" name="addForm"> 29 <p>用户:<input type="text" size="10" name="user" maxlength="20"/></p> 30 <p>标题:<input type="text" name="title" maxlength="50"/></p> 31 <p>内容:<textarea name="content" rows="8" cols="30"></textarea></p> 32 <p><input type="button" name="submit" value="发表留言" onclick="SendForm();"/></p> 33 </form>
Atas ialah kandungan terperinci 函数onclick和onsubmit的区别. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!