在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Bootstrap 实例 - 提交表单验证</title>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css">
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
</head> <script language="javascript">
//--->
function checksubmit()
{ // var input_data = $("#form1").serialize();
var data_arr = $("#form1").serializeArray();
$.each(data_arr, function(i, val){ // alert(val); //返回对象
// alert(i);
// alert(val.name); // 返回数组元素名字
// alert(val.value); // 返回数组元素的值 if(val.name == "email")
{
if(val.value == "")
{
alert("邮件不能为空!");
$("#email").focus();
return false;
} } if(val.name == "password")
{
if(val.value == "")
{
alert("PWD不能为空!");
$("#pwd").focus();
return false;
} } }); return false; }
//--->
</script> <body>
<br/>
<br/>
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<form class="form-horizontal" role="form" id="form1" method="post" action="#" onsubmit="return checksubmit()">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" name="email" class="form-control" id="email" />
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" name="password" class="form-control" id="pwd" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label><input type="checkbox" />Remember me</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Sign in</button>
</div>
</div>
</form>
</div>
</div>
</div> </body>
</html>

代码很简单。

注意以下几点:

1.<form onsubmit="return false">
其中,将false换成一个检验输入是否合法的函数,该函数返回false或true,则可以在函数返回false的时候阻止表单提交。

2.onsubmit="return checksubmit()" 这里的return不能省掉。

3.checksubmit()函数里面的return true;可以省去,因为默认是返回true;

一个简单的测试页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>获取用户Token</title>
<link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<script language="javascript">
//--->
function checksubmit() { // var input_data = $("#form1").serialize();
var user_id = $("#name").val();
if(user_id < 1){
alert("用户ID不能为空!");
$("#name").focus();
return false;
} }
</script>
<h1>获取TOKEN</h1>
<body style="margin:60px;"> <form role="form" method="get" action="get_app_user_token.php" onsubmit="return checksubmit()">
<div class="form-group">
<label for="name">用户ID</label>
<input type="text" class="form-control" name="user_id" id="name"
placeholder="请输入用户ID">
</div> <button type="submit" class="btn btn-default">提交</button>
</form> <?php $user_id = (int)$_GET['user_id']; if($user_id > 0)
{
$sql = "select * from user_tbl where user_id = {$user_id} limit 0,10";
$ret = db_query($sql); if(empty($ret))
{
dump('没有该用户的设备Token记录!');
}else
{
dump($ret);
} } ?> </body>
</html>

onsubmit阻止表单提交的更多相关文章

  1. JQuery阻止表单提交的方法总结 - 使用onsubmit()验证表单并阻止非法提交

    方法1:<form onsubmit="javascript:confirm()"> 方法内返回false阻止表单提交 示例:代码检测textarea内填写的长度,未填 ...

  2. JavaScript控制阻止表单提交

    1.在表单上使用onSubmit方法 <?php $form = ActiveForm::begin([ 'options'=>[ 'class' => 'form-horizont ...

  3. js阻止表单提交

    <!DOCTYPE html><html><head>    <title>Simple Login Form</title>    < ...

  4. jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存

    代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...

  5. 利用JS 阻止表单提交

    情景一:不存在Ajax异步操作 1 使用背景:会议室预定管理系统中,当表单提交的时候需要验证预约的时间是否符合预定规则(不需要通过访问服务器),否则提示错误信息,阻止表单提交. 2 相关技术点: fo ...

  6. Jquery添加元素append及阻止表单提交submit

    HTML代码: <td><input name="duration[]" value="" type="text" /&g ...

  7. form表单验证失败,阻止表单提交

    form表单验证失败,阻止表单提交 效果演示: 贴上完整代码: <!DOCTYPE html> <html lang="en"> <head> ...

  8. Javascript阻止表单提交

    Javascript阻止表单提交 Html 1.<form name="loginForm" action="login.aspx" method=&qu ...

  9. form的onsubmit事件--表单提交前的验证最佳实现方式

    今天遇到了一个问题,页面中include了很多的公共页面(都是没有form的),并且里面好多的地方都是自行提交的(页面中加入一个type=“submit”域,然后js中写入sumbit.click来执 ...

随机推荐

  1. iOS桌面小插件 Widget Extension

    iOS桌面小插件 Widget Extension 这个插件时iOS14以后才出现的,基于SwiftUI 旧项目新建时可能一堆错误,其中一个时要把插件target 开发sdk版本设置为14.0以上 新 ...

  2. vue项目如何引用jquery

    虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery,那么如何引入jquery呢? 费了半天劲,记录一下: 一 : 安装jquery npm instal ...

  3. DateTime TryParse方法,介绍

    1.与Date.Parse()方法的区别:Date.Parse(object o)方法接受一个object类型的参数,当参数为空或转换失败时会抛出异常DateTime.TryParse方法不会抛出异常 ...

  4. Linux下安装mysql你又踩过多少坑【宇宙最全教程】

    一.检查以前是否安装过MySql 因为cnetos7一般默认安装mariadb,所以要检查mysql或者mariadb是否安装 rpm -pa | grep -i mysql rpm -pa | gr ...

  5. Flume介绍安装使用

    APache Flume官网:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#memory-channel 目录 ...

  6. 物理机迁移至vmware

    使用用vmware vcenter converter standalone将物理机迁移到虚拟机. 6.2版本下载地址如下: https://www.filehorse.com/download-vm ...

  7. Mysql等保部分加固

    一.等保要求:操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换. 实施步骤: 启用口令复杂审核(5.6.6版本以上,才有此模块功能,需要重启mysql). 查看 ...

  8. bzoj3144 [HNOI2013]切糕(最小割)

    bzoj3144 [HNOI2013]切糕(最小割) bzoj Luogu 题面描述见上 题解时间 一开始我真就把这玩意所说的切面当成了平面来做的 事实上只是说相邻的切点高度差都不超过 $ d $ 对 ...

  9. MAVEN setting文件

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  10. swagger-ui提交请求无name(指input中的name属性)值

    swagger-ui提交请求,请求不包含name值,造成后台无法进行接受参数. @Operation(description = "上传文件",tags = "上传&qu ...