onSubmit是表单上(也只能是表单)用的,提交表单前会触发
onClick是按钮等控件上用的,用来触发点击事件.用作数据验证的时候,可以选择在submit按钮上的onclick中验证,可以在onsubmit中验证.但是从事件触发顺序上来说,onclick更早.顺序是:用户点击按钮->onclick->如果onclick返回有效或未处理onclick则提交表单->onsubmit->如果onsubmit未处理或返回true,则提交,否则取消提交.onsubmit中返回false会引起取消表单提交;onclick中返回false则会引起此次点击操作被判断为无效,则也就不会引起表单提交.第一种:onsubmit
<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" οnsubmit="return CheckPost();">
<div>用户:<input type="text" size="10" name="user" maxlength="20"/></div><div>标题:<input type="text" name="title" maxlength="50"/></div><div>内容:<textarea name="content" rows="8" cols="30"></textarea></div><div><input type="submit" name="submit" value="发表留言"/></div></form><?php
if($_POST['submit']) {echo "<script language=\"javascript\">alert('提交成功!');history.go(-1);</script>";
}?>第二种:onclick
<script language="javascript">
function SendForm () { if(CheckPost()) { document.addForm.submit(); }}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">
<div>用户:<input type="text" size="10" name="user" maxlength="20"/></div> <div>标题:<input type="text" name="title" maxlength="50"/></div> <div>内容:<textarea name="content" rows="8" cols="30"></textarea></div> <div><input type="button" name="submit" value="发表留言" οnclick="SendForm();"/></div></form><?php
if($_POST['submit']) {echo "<script language=\"javascript\">alert('提交成功!');history.go(-1);</script>";
}?>