本文将介绍如何在不通过jQuery提交的情况下强制进行html5表单验证的详细情况,特别是关于jquery表单提交判断不为空的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主
本文将介绍如何在不通过jQuery提交的情况下强制进行html5表单验证的详细情况,特别是关于jquery表单提交判断不为空的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)、ajax通过jquery提交多种表单、Html5之高级-3 HTML5表单验证(验证属性、验证状态)、html5表单验证的知识。
本文目录一览:- 如何在不通过jQuery提交的情况下强制进行html5表单验证(jquery表单提交判断不为空)
- 10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)
- ajax通过jquery提交多种表单
- Html5之高级-3 HTML5表单验证(验证属性、验证状态)
- html5表单验证
如何在不通过jQuery提交的情况下强制进行html5表单验证(jquery表单提交判断不为空)
如何解决如何在不通过jQuery提交的情况下强制进行html5表单验证?
要检查某个字段是否有效,请使用:
$(''#myField'')[0].checkValidity(); // returns true/false
要检查表格是否有效,请使用:
$(''#myForm'')[0].checkValidity(); // returns true/false
如果要显示某些浏览器具有的本机错误消息(例如Chrome),很遗憾,唯一的方法是提交表单,如下所示:
var $myForm = $(''#myForm'');
if(! $myForm[0].checkValidity()) {
// If the form is invalid, submit it. The form won''t actually submit;
// this will just cause the browser to display the native HTML5 error messages.
$myForm.find('':submit'').click();
}
希望这可以帮助。请记住,并非所有浏览器都支持HTML5验证。
解决方法
我的应用程序中有此表单,我将通过AJAX提交它,但是我想使用HTML5进行客户端验证。因此,我希望能够通过jQuery强制进行表单验证。
我想触发验证而不提交表单。可能吗?
10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)
jquery text点击文本框预定机票火车票城市选择
jquery表单提交衣服尺寸选择勾选获取value值
jquery input文本框模拟select选择框获取选定的value值
jquery text文本框限制字数或文本框提示字数
jquery checkbox复选框 全选 反选 取消 选中输出
jquery select 多级联动插件_省市联动_二级联动_三级联动_城市联动菜单
jQuery鼠标滑过text文本框向上滑动提示文字标题
jQuery toggle顶部登录框点击登录按钮滑动显示登录框_滑动隐藏登录框
jQuery text文本框全国按省选择学校
jquery textarea插入gif动态QQ表情图片表单提交
ajax通过jquery提交多种表单
所以假设我有3种形式
<form name="form1"><input name="input"></input><submit></submit></form><form name="form2"><input name="input"></input><submit></submit></form><form name="form3"><input name="input"></input><submit></submit></form>
每个表单都有自己的提交按钮
现在假设我有另一种形式
<form id="submitAll"><submit value="submit all"></submit></form>
其唯一的功能是同时提交所有其他3种形式。…现在这里是约束:
- 当submitAll提交后,它必须使用Ajax这样做,并且最好通过POST将输入的数据从所有其他3种形式转发到processor.php
- processor.php需要能够区分输入到哪种形式…然后分别处理每种形式的输入
我的问题是..什么是使processor.php能够区分哪些输入属于哪种形式的最佳方法....
我以前的尝试是使用jquery的serialize序列化所有3个表单的输入,但是随后它将所有输入合并为一个字符串,并注意到由于表单中的输入具有相同的名称,因此字符串类似于“
input = blah&input = blah&input = blah“,我无法区分哪种输入是哪种形式.....
最好将表单中的输入具有相同的名称,以便Processor.php可以平稳执行
是否有使POST字符串作为数组或json或任何其他格式传递的方法,以便Processor.php可以区分哪种输入以哪种形式进行输入而无需使输入名称不同?记住它需要通过Ajax这样做
提前致谢!!!
答案1
小编典典为什么不使用命名约定,例如
- name =“ Form1 [input]”
- name =“ Form2 [input]”
- name =“ Form3 [input]”
然后执行常规序列化和$ .post,这将帮助您在处理器循环中保持相同的命名约定
编辑:
<?php foreach($_POST as $form) { // $form = array(''input'' => ''i am here'') processForm($form); // names are still the same for all forms}?>
Html5之高级-3 HTML5表单验证(验证属性、验证状态)
一、验证属性
required 属性
- required 属性主要防止域为空时提交表单。该属性不需要设置任何值
- 语法:
Pattern 属性
- Pattern 属性的作用是实现元素的验证。它支持使用正则表达式定制验证规则
- 语法:
Min 和 Max 属性
- min、max和step属性用于为包含数字或日期的input类型规定限定(约束)
- 语法:
Minlength 和 Maxlength 属性
- Minlength 和 Maxlength 属性的作用是定制元素允许的最小字符数和最大字符数
- 语法:
validity 属性
- 在 HTML5提供的有关表单验证的新特性中,提供了一个validity属性。该属性是利用ValidityState 对象描述指定元素的有效状态
- ValidityState 对象代表了有效状态,可以实现对指定元素进行约束验证功能。该对象提供了一系列的属性,这些属性用于描述指定元素的有效状态
- 如何获取 ValidityState 对象,使用其提供的属性内容
- 语法: 指定元素.validity可以得到 ValidityState 对象
- 例子: Elem .validity .valid
二、验证状态
valid 状态
- 执行完毕,我们会得到一个布尔值,它表示表单控件是否已通过了所有的验证约束条件。可以把valid特性看做是最终验证结果: 如果所有约束条件都通过了,valid的值就是true,否则,只要有一项约束没通过,valid的值都是false
valueMissing 状态
- 如果表单控件设置了required特性,那么在用户填写或者通过代码调用方式填值之前,控件会一直处于无效状态。例如,空的文本输入框无法通过必填检查,除非在其中输入任意文本。输入值为空时,valueMissing会返回true
typeMismatch 状态
- 如果输入语法不符合指定的类型,那么这个状态就是true
- 例如: email类型输入元素的内容不是电子邮件地址
patternMismatch 状态
- 如果输入内容与所设置模式不匹配,那么这个状态就是true
tooLong 状态
- 如果输入内容长度大于maxlength属性指定值,那么这个状态就是true
rangeUnderflow 状态
- 如果输入内容小于min属性声明的值,那么这个状态就是true
stepMismatch 状态
- 如果给定的值与min,max,step不一致,那么这个状态就是true
customError 状态
- 如果元素使用setCustomValidity()方法设置了自定义错误,那么这个状态就是true
总结:本章内容主要介绍了下 HTML5表单验证(验证属性、验证状态)
html5表单验证
-
1、基本表单验证特性介绍
- ① html5表单新增了那些类型?
- email、url、number、range、date、search、color、tel等
- ② 文本框中,输入一次,下一次再输入会自动提示是哪个特性?
- autocomplete
- ③ 初始化页面之后,如何让input自动获取焦点?
- autofocus
- ④ html5如何设置表单元素必填?
- required
- ⑤ html5表单验证如何使用正则?
- pattern
- ⑥ html5表单中设置了必填,提交表单的时候如何做到不验证?
- novalidate或formnovalidate
- ⑦ 文本框灰色提示?
- placeholder
- ⑧ 如何实现提示选择?
- list和datalist
2、代码演示
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<title></title>
</head>
<body>
<!-- <form action="" method="post" novalidate> -->
<!-- <form action="" method="post" autocomplete="on"> -->
<form action="" method="post" >
<input type="file"><br><br>
<label for="">用户名</label>
<!--
1、required:表示该项必须填写,不然提交不了
2、autofocus:自动获取焦点
3、novalidate:在form上加,表示提交表单不验证
4、formnovalidate:在submit上加,表示提交表单不验证
5、正则^\d{5}[imooc]$:^\d以数字开头;{5}:五个数字;
[imooc]$以这五个字母的一个为结尾(总共6位;例如:12345c)
6、autocomplete:为on,输入一次,下一次再输入会自动提示;off则不是
-->
<input type="text" name="user" placeholder="请输入用户名"
required="required" autofocus><br><br>
<label for="">工号</label>
<input type="text" name="gonghao" placeholder="请输入工号"
pattern="^\d{5}[imooc]$"><br><br>
<input type="text" list="tips">
<datalist id="tips">
<option value="abc1"></option>
<option value="abc2"></option>
<option value="abc3"></option>
</datalist>
<br><br>
<input type="submit" value="按钮">
<input type="submit" value="formnovalidate" formnovalidate>
</form>
</body>
</html>
效果图:
3、label中for的补充
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="" method="post" >
<!--
1、for 属性规定 label 与哪个表单元素绑定。
作用是 在点击label 时 会自动将焦点移动到绑定的元素上
-->
<label for="man">男</label>
<input type="radio" name="sex" id="man">
<label for="woman">女</label>
<input type="radio" name="sex" id="woman">
</form>
</body>
</html>
效果图:
4、html5约束验证API
- ① 约束的API有如下几个:
- willValidate属性
- validity属性
- validationMessage属性
- checkValidity()方法
- setCustomValidity()方法
- ② validity属性
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <title></title> <style> /*将文本框右侧的×去掉*/ input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; height: 15px; width: 15px; background-color: red; } /* 去掉上下箭头 */ input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } </style> </head> <body> <form action="" method="post"> <input type="text" id="username" value="123456" pattern="^\d{5}" required maxlength="6" minlength="2"><br><br> <input type="search" name="search" id="search"> <input type="submit"><br><br> <input type="number" id="numbers" max="5" min="3" value="8"><br> <input type="number" id="numbers" value="0.02" step="3" oninput="checkLength(this, 5)"> </form> <script> var user = document.getElementById('username'); console.log(user.validity);// 对应上面的图看,每一项相互对应的 // 控制输入位数 function checkLength (obj, length) { obj.value = obj.value.substr(0, length); } </script> </body> </html>
- ③ checkValidity()方法:如果元素没有满足它的任意约束,返回false,其他情况返回true。
<!DOCTYPE html> <html lang="en"> <head> <Meta charset="UTF-8"> <title></title> </head> <body> <form action="" method="post"> <!-- text文本框里面的属性:只要有一个不符合, 那么checkValidity()返回false,反之true --> <input type="text" value="adfsa" id="username" pattern="^\d{5}"> <input type="email" id="emails" value="123123@qq.com"> </form> <script> var Emil = document.getElementById('emails'); var user = document.getElementById('username'); if (Emil.checkValidity()){ alert('是一个邮箱'); } else { alert('不是一个邮箱'); } if (user.checkValidity()){ alert('符合'); } else { alert('不符合'); } </script> </body> </html>
④ setCustomValidity()方法:设置自定义验证信息,用于即将实施与验证的约束来覆盖预定义的信息。
5、html自带验证美化(这块就是加css样式了,之后就没看)
- ① 了解一些伪类及css选择器
- :required和:optional:
- :required:设置输入框必填样式
- :optional:设置输入框非必填样式
- :in-range和:out-of-range
- :in-range:选择
值在指定范围内
的input元素- :out-of-range:选择
值在指定范围外
的input元素- :valid和:invalid
- :valid:有效,即当填写的内容符合要求的时候触发。
- :invalid:无效,即当填写的内容不符合要求的时候触发。
- :read-only和:read-write
- :read-only:用于匹配用户可编辑的元素,即可读和可写的元素
- :read-write:匹配任何与:read-write选择器不匹配的元素
关于如何在不通过jQuery提交的情况下强制进行html5表单验证和jquery表单提交判断不为空的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)、ajax通过jquery提交多种表单、Html5之高级-3 HTML5表单验证(验证属性、验证状态)、html5表单验证的相关知识,请在本站寻找。
本文标签: