验证表单的两种方式:onSubmit和onClick

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>";
}
?>

转载于:https://www.cnblogs.com/GrowthRookie/p/3451139.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值