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

<!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. strtok:This function or variable may be unsafe.

    https://jingyan.baidu.com/article/49711c616b8a1ffa441b7cdc.html

  2. C++ 删除一个字符串中的指定字符

    Q:一个数字是以xxx,yyy,zzz的字符串形式存储的,将逗号消去并转化为整数输出 方法一:char数组,即定义时s1定义为 char s1[20]的形式: //删除输入字符串中的逗号,并构建新串 ...

  3. springboot----一、SpringBoot简介

    一.SpringBoot简介 1.1.回顾什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson . Spring是为了解决企业 ...

  4. 被vector动态扩容给坑了!

    大家好,我是东北码农.记录一下工作中事. 前几天,运维同事给我反馈了一个问题: 通过监控发现,线上的一个服务,业务线程时不时会出现卡顿,卡顿大约持续几秒. 我们做金融系统后台开发的,对性能要求很严格的 ...

  5. linux作业--第九周

    1.简述DNS服务器原理,并搭建主--从服务器. 一.什么是DNS DNS(domain name system)域名系统或者(domain named system)区域名称服务,分为正向与反向域名 ...

  6. laravel 实现详情分页

    选择合适的PHP框架及前端框架布局页面(10分) 首先展示出分类列表,每个分类下只显示3条信息,无需分页 (30分) 在列表页 点击文章标题进入详细页面,对应的文章点击量+1(30分) 在详细页面点击 ...

  7. 4.功能三:实现URL地址栏控制(15分) (1)获取到当前访问的控制器和方法(5分) (2)对当前访问的控制器和方法进行判断,有权限继续访问(5分) (3)无权限给出提示(5分)

    <?php namespace app\admin\controller; use think\Controller; use think\Request; class Base extends ...

  8. LGP4287题解

    小清新 manacher 题.题意清楚. 首先看到回文,自然而然地就去想 manacher 了.先想想,manacher 到底在干嘛? manacher 做的其实是一个暴力,枚举每一个位置最远能够伸到 ...

  9. ArcMap操作随记(9)

    1.类似PS中功能的工具 [镜像要素].[比例].[延伸] 2.快速获得栅格统计参数 [获取栅格属性]工具 3.[编辑器][创建要素][构造工具] 可以右键,输入半径等参数 4.计算面的角度 [计算面 ...

  10. Python之VSCode

    在学习Python的过程中,一直没有找到比较趁手的第三方编辑器,用的最多的还是Python自带的编辑器.由于本人用惯了宇宙第一IDE(Visual Studio),所以当Visual Studio C ...