博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证表单的两种方式:onSubmit和onClick
阅读量:6976 次
发布时间:2019-06-27

本文共 1931 字,大约阅读时间需要 6 分钟。

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

你可能感兴趣的文章
python中动态导入模块
查看>>
Unity UGUI Button 无法点击问题一例
查看>>
2019.01.19-2018年6月NEYC集训counting
查看>>
codeforces 801B Valued Keys
查看>>
C语言不容易识别的坑
查看>>
Redis集群
查看>>
2016-8-15
查看>>
【网站分享】文档转换网站分享
查看>>
linux配置本地源
查看>>
爬虫_电影天堂 热映电影(xpath)
查看>>
神经网络浅讲:从神经元到深度学习
查看>>
我的Android 4 学习系列之创建用户基本界面
查看>>
SQL Server 忘记登录账号解决方法
查看>>
033、如何自定义容器网络(2019-02-20 周三)
查看>>
LeetCode算法题-Peak Index in a Mountain Array(Java实现)
查看>>
jquery 实现省市二级联动,附带完整的省市json数据 (粘贴即用)
查看>>
leetCode刷题(将字符串转成W形状的字符串再以Z形字符串输出)
查看>>
调色板原码(RGB <=> HSL)!
查看>>
mysql查询优化
查看>>
老聃的金字塔原则
查看>>