onsubmit阻止表单提交
在实际开发中往往会遇到检查表单数据的合法性,如果数据不合法,就不让其提交。
<!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阻止表单提交的更多相关文章
- JQuery阻止表单提交的方法总结 - 使用onsubmit()验证表单并阻止非法提交
方法1:<form onsubmit="javascript:confirm()"> 方法内返回false阻止表单提交 示例:代码检测textarea内填写的长度,未填 ...
- JavaScript控制阻止表单提交
1.在表单上使用onSubmit方法 <?php $form = ActiveForm::begin([ 'options'=>[ 'class' => 'form-horizont ...
- js阻止表单提交
<!DOCTYPE html><html><head> <title>Simple Login Form</title> < ...
- jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存
代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...
- 利用JS 阻止表单提交
情景一:不存在Ajax异步操作 1 使用背景:会议室预定管理系统中,当表单提交的时候需要验证预约的时间是否符合预定规则(不需要通过访问服务器),否则提示错误信息,阻止表单提交. 2 相关技术点: fo ...
- Jquery添加元素append及阻止表单提交submit
HTML代码: <td><input name="duration[]" value="" type="text" /&g ...
- form表单验证失败,阻止表单提交
form表单验证失败,阻止表单提交 效果演示: 贴上完整代码: <!DOCTYPE html> <html lang="en"> <head> ...
- Javascript阻止表单提交
Javascript阻止表单提交 Html 1.<form name="loginForm" action="login.aspx" method=&qu ...
- form的onsubmit事件--表单提交前的验证最佳实现方式
今天遇到了一个问题,页面中include了很多的公共页面(都是没有form的),并且里面好多的地方都是自行提交的(页面中加入一个type=“submit”域,然后js中写入sumbit.click来执 ...
随机推荐
- 走进第四范式:决策类AI企业的生存之道
根据不同的应用领域,人工智能行业可以分为视觉类人工智能.语音及语义类人工智能和决策类人工智能. 通常,我们接触的都是视觉类.语音类的人工智能,它们主要用来帮助人类执行具体任务,例如人脸识别,语音控制等 ...
- C# 反编译工具之ILSpy
下载地址:http://ilspy.net/ 中文版下载地址:http://www.fishlee.net/soft/ilspy_chs 对dll和exe文件反编译:
- (第二章第一部分)TensorFlow框架之文件读取流程
本章概述:在第一章的系列文章中介绍了tf框架的基本用法,从本章开始,介绍与tf框架相关的数据读取和写入的方法,并会在最后,用基础的神经网络,实现经典的Mnist手写数字识别. 有四种获取数据到Tens ...
- transform方法适配页面大小
function setCss() { let App = document.getElementById("app"); // 获取到app节点 最外层的盒子 ...
- 测试平台系列(90) 编写oss客户端
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程,希望大家多多支持. 欢迎关注我的公众号米洛的测开日记,获取最新文章教程! 回顾 上一节我们编写了在线执行测试 ...
- redis php使用实例
redis的操作很多的,以前看到一个比较全的博客,但是现在找不到了.查个东西搜半天,下面整理一下php处理redis的例子,个人觉得常用一些例子.下面的例子都是基于php-redis这个扩展的. 1, ...
- SourceTree代码变更和FoxMail邮件管理(效率小计俩)
代码变更溯源 工作时,我们经常会想要查看一个类文件的变更历史,最常见的场景是:"卧槽,谁改了我的代码" 新版本的Xcode溯源自我感觉相当难用,所以这里我们介绍一个工具 Sourc ...
- GitLab 常用命令
1. 进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令检出仓库:$ git clone git://github.com/jquery/jquery.git查看远程仓库:$ git remot ...
- &取地址运算符
&可以取得一个变量在内存当中的地址 Register int a; //这种变量不在内存里面,而在CPU里面,是没有地址的, 所以寄存器变量(register)不能用&来取得变量 在计 ...
- Flask 之 WebSocket
http:是一个协议 规定:数据传输格式 -/r/n/r/n 一次的请求,一次的响应,断开了 短链接 无状态 服务器收到的请求,做出的响应给客户端 客户端主动向服务器发起请求 基于socket sen ...