GVKun编程网logo

如何在不通过jQuery提交的情况下强制进行html5表单验证(jquery表单提交判断不为空)

3

本文将介绍如何在不通过jQuery提交的情况下强制进行html5表单验证的详细情况,特别是关于jquery表单提交判断不为空的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主

本文将介绍如何在不通过jQuery提交的情况下强制进行html5表单验证的详细情况,特别是关于jquery表单提交判断不为空的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)、ajax通过jquery提交多种表单、Html5之高级-3 HTML5表单验证(验证属性、验证状态)、html5表单验证的知识。

本文目录一览:

如何在不通过jQuery提交的情况下强制进行html5表单验证(jquery表单提交判断不为空)

如何在不通过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表单代码(五)

10款单代码_jquery 提交表单_js提交表单_表单验证_html表单代码(五)

jquery text点击文本框预定机票火车票城市选择

jquery text点击文本框预定机票火车票城市选择

jquery表单提交衣服尺寸选择勾选获取value值

jquery表单提交衣服尺寸选择勾选获取value值

jquery input文本框模拟select选择框获取选定的value值

jquery input文本框模拟select选择框获取选定的value值

jquery text文本框限制字数或文本框提示字数

jquery text文本框限制字数或文本框提示字数

jquery checkbox复选框 全选 反选 取消 选中输出

jquery checkbox复选框 全选 反选 取消 选中输出

jquery select 多级联动插件_省市联动_二级联动_三级联动_城市联动菜单

jquery select 多级联动插件_省市联动_二级联动_三级联动_城市联动菜单

jQuery鼠标滑过text文本框向上滑动提示文字标题

jQuery鼠标滑过text文本框向上滑动提示文字标题

jQuery toggle顶部登录框点击登录按钮滑动显示登录框_滑动隐藏登录框

jQuery toggle顶部登录框点击登录按钮滑动显示登录框_滑动隐藏登录框

jQuery text文本框全国按省选择学校

jQuery text文本框全国按省选择学校

jquery textarea插入gif动态QQ表情图片表单提交

jquery textarea插入gif动态QQ表情图片表单提交

ajax通过jquery提交多种表单

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种形式。…现在这里是约束:

  1. 当submitAll提交后,它必须使用Ajax这样做,并且最好通过POST将输入的数据从所有其他3种形式转发到processor.php
  2. 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表单验证(验证属性、验证状态)

Html5之高级-3 HTML5表单验证(验证属性、验证状态)

一、验证属性


required 属性

    - required 属性主要防止域为空时提交表单。该属性不需要设置任何值

    - 语法:

wKioL1b5_eiAoPSQAAB26_pzIq4604.png


Pattern 属性

    - Pattern 属性的作用是实现元素的验证。它支持使用正则表达式定制验证规则

    - 语法:

wKiom1b5_zqxnUReAACnxcegIY4750.png


Min 和 Max 属性

    - min、max和step属性用于为包含数字或日期的input类型规定限定(约束)

    - 语法:

wKioL1b6APrjZTlQAADiapQFUqU562.png


Minlength 和 Maxlength 属性

    - Minlength 和 Maxlength 属性的作用是定制元素允许的最小字符数和最大字符数

    - 语法:

wKiom1b6AYXDkNu5AAAcLHWljBY701.png


validity 属性

    - 在 HTML5提供的有关表单验证的新特性中,提供了一个validity属性。该属性是利用ValidityState 对象描述指定元素的有效状态

    - ValidityState 对象代表了有效状态,可以实现对指定元素进行约束验证功能。该对象提供了一系列的属性,这些属性用于描述指定元素的有效状态

    - 如何获取 ValidityState 对象,使用其提供的属性内容

        - 语法: 指定元素.validity可以得到 ValidityState 对象

        - 例子: Elem .validity .valid


二、验证状态


valid 状态

    - 执行完毕,我们会得到一个布尔值,它表示表单控件是否已通过了所有的验证约束条件。可以把valid特性看做是最终验证结果: 如果所有约束条件都通过了,valid的值就是true,否则,只要有一项约束没通过,valid的值都是false

wKioL1b6DE6wF5JQAAA95_bCUL0830.png


valueMissing 状态

    - 如果表单控件设置了required特性,那么在用户填写或者通过代码调用方式填值之前,控件会一直处于无效状态。例如,空的文本输入框无法通过必填检查,除非在其中输入任意文本。输入值为空时,valueMissing会返回true

wKioL1b6EBuCbuoRAABFQOXFHnw676.png


typeMismatch 状态

    - 如果输入语法不符合指定的类型,那么这个状态就是true

    - 例如: email类型输入元素的内容不是电子邮件地址

wKioL1b6EO3wM3bJAABBwinkjO4411.png


patternMismatch 状态

    - 如果输入内容与所设置模式不匹配,那么这个状态就是true

wKiom1b6EV3BRJaUAABGaSup4eM461.png


tooLong 状态

    - 如果输入内容长度大于maxlength属性指定值,那么这个状态就是true

wKiom1b6EZWBIGtLAABGe9sfEOo734.png


rangeUnderflow 状态

    - 如果输入内容小于min属性声明的值,那么这个状态就是true

wKioL1b6EsvBF_2YAABFO0lPO8k675.png


stepMismatch 状态

    - 如果给定的值与min,max,step不一致,那么这个状态就是true

wKiom1b6EpSB4fYXAABB8hj8dqY788.png


customError 状态

    - 如果元素使用setCustomValidity()方法设置了自定义错误,那么这个状态就是true

wKioL1b6FFqRZLljAABggVWHk10749.png

总结:本章内容主要介绍了下 HTML5表单验证(验证属性、验证状态)

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表单验证的相关知识,请在本站寻找。

本文标签: