重置 HTML5 无效输入状态

2024-04-08

经过验证的输入最初不会被标记为无效,直到值发生更改。如何恢复这个初始状态?

我的问题的详细信息:我有一个简单的订单。如果用户单击“添加项目”按钮,我将克隆第一个项目并清空输入字段。但由于我使用的是 html5 验证,清空会使它们无效。

这是单击“添加产品”后发生的情况,即使第一组字段有效:

Demo: http://jsfiddle.net/WEHdp/ http://jsfiddle.net/WEHdp/(在火狐浏览器中查看):

<form action="/orders/preview" method="post">
  <div class="orderData">
    <input name="order[order_items_attributes][0][articleno]" pattern="[0-9]{4}" required /> /
    <input name="order[order_items_attributes][0][colorno]" pattern="[0-9]{3}" required />
    <div>
      <a href="#" class="removeOrder">Remove product</a>
      <a href="#" class="addOrder">Add product</a>
    </div>
  </div>
</form>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>
<script>
$(document).ready(function() {
  $(".addOrder").live("click", function (event) {
    event.preventDefault();

    // Clone div
    $('.orderData:first').clone().insertAfter(".orderData:last");
    // Empty the fields
    $('.orderData:last input').val("");
  });

  $(".removeOrder").live("click", function (event) {
    event.preventDefault();
    if($('.orderData').size() > 1){
      $(this).parents('.orderData').remove();
    }
  });
});
</script>

克隆页面就绪的行,然后您将始终拥有对该行默认状态的引用。

Like so:

$(document).ready(function() {
  var firstCopy = $('.orderData:first').clone();
  $(".addOrder").live("click", function (event) {
    event.preventDefault();

    // Clone div
    firstCopy.clone().insertAfter(".orderData:last");
    // Empty the fields
    $('.orderData:last input').val("");
  });

  $(".removeOrder").live("click", function (event) {
    event.preventDefault();
    if($('.orderData').size() > 1){
      $(this).parents('.orderData').remove();
    }
  });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重置 HTML5 无效输入状态 的相关文章

  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • 当焦点/单击[重复]时选择 contenteditable div 中的所有文本

    这个问题在这里已经有答案了 我有 contenteditable div 如下 div style border solid 1px D31444 12 some text div 我需要的是 当我点击 div 时 所有文本都会自动被选中
  • 如何检查变量是 jQuery 对象还是普通 DOM 元素?

    如何检查变量是 jQuery 对象还是普通 DOM 元素 一个 jquery 对象有一个jquery财产 jquery 对象是一个instanceof jQuery instanceof on MDN https developer moz
  • 带有 JEditable 字段的 Tab 键

    我有一个使用 JQuery 和 Jeditable 在页面上创建可编辑文本元素的页面 在编辑元素时 我希望能够从一个元素切换到下一个元素 我不确定如何 使用jeditable或jquery捕获tab键事件 keycode 9 一旦检测到该事
  • 使用 jquery 远程图像属性

    目前我正在尝试获取远程图像宽度 高度 我正在开发一个链接共享模块 就像当你在 Facebook 上粘贴链接时 你可以看到标题 描述和图像 所以我尝试使用 php getimagesize 来获取图像宽度 高度 但速度非常慢 所以我正在考虑使
  • ajaxChosen 插件将无法工作

    我整个下午都在摆弄 ajaxChosen 因为我喜欢 Chosen 但我的选项值集变得太大了 我也尝试过 select2 但它太慢了 http harvesthq github io chosen http harvesthq github
  • yup.js 验证数字字段大于同级字段,或者可以为空

    我正在使用 Yup js 来验证一些表单字段 我有两个整数字段 Year Built Year Renovated Year Built是必填字段 Year Renovated is not 不过 装修年份可以留空如果有一个值它应该大于建造
  • 渲染货币和符号并与来自不同单元格的数据相结合

    我正在使用最新的 jQuery DataTables v1 10 7 我正在尝试将数字解析为以下格式 239 90 USD 我可以使用此命令使货币正常工作 columns data Price render fn dataTable ren
  • Kendo Ui 像 Windows 桌面一样可拖动

    我需要模拟桌面图标拖放 我这样做 draggable kendoDraggable container desktop hint function return draggable clone dragend function e cons
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 按搜索值过滤元素 - 多个单词

    我有一个由 DIV 和 INPUT 搜索框组成的列表
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • Chrome//kendoUI/jQuery:超出最大调用堆栈大小

    我正在使用 hottowell 模板来创建 spa 应用程序 并且我从 jquery 中收到了一个很好的错误 基本上我的问题从此刻开始尝试绑定我的视图 viewModelBinder js 来自 durandal 库 viewModelBi
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid

随机推荐

  • 如何右对齐 JLabel 中的图标?

    对于带有图标的 JLabel 如果您setHorizontalTextPosition SwingConstants LEADING 无论标签有多宽 图标都会绘制在文本之后 这对于列表来说尤其糟糕 因为图标会到处都是 具体取决于每个项目的文
  • FireMonkey TListview 搜索重新加载问题

    当您进行搜索时 TListview 无法正确重新加载 请清除搜索 然后重新加载列表视图 使用XE5 步骤是 项目运行后 在搜索中输入文本 单击 清除 按钮或删除搜索文本或单击搜索 X 按钮清除搜索 按 重新加载 按钮 什么也没有出现 您可以
  • Webview 不加载 URL,但浏览器会加载

    因此 从我的第一个屏幕开始 我将 URL 传递给要在 Web 视图中启动的活动 但是当 webview 启动时 它显示 web page not available The web page at URL might be temporar
  • 需要 Microsoft Visual C++ 14.0,在 Windows Docker 上安装 pip 包

    我希望能够安装 C 编译器 因为某些软件包没有我需要的轮子 Windows 上大量的 Visual Studio 构建工具中所需的确切工具需要大量挖掘 并且安装需要很长时间 我见过一些导致此问题的错误 请随意将其他错误添加到此列表中 库 m
  • 嵌套形式和一对一关系

    我的用户和目标之间存在一对一的关系 我想构建一个显示用户目标的表单 问题是我的代码仅在用户已经定义了目标时才有效 当不存在目标时 不会呈现文本字段 Rails 是否提供了一种简单的方法来做到这一点 我就是这样做的 class User lt
  • 在 beforeAction 中渲染视图时,在 Yii 中出现“标题已发送”错误

    我读过 Yii2 的处理程序 但我不知道如何在这种情况下正确使用它们 基本上在我的SiteController 我有 class SiteController extends app components Controller public
  • 我们可以从 WPF 窗口将文件拖放到 Windows 资源管理器中吗?

    我有一个显示当前文件系统的树视图 我想添加功能以允许将文件拖放到 Windows 资源管理器中 如果我拖动树视图的任何节点并将其放在 Windows 资源管理器的任何窗口上 则文件将被复制到该位置 我怎样才能做到这一点 初读this htt
  • Typescript 中的 Getter/Setter

    我正在学习有关 Typescript 类的教程 教学人员创建了一个类和一些 setter getter 方法 但是当我读到时打字稿文档 https www typescriptlang org docs handbook classes h
  • 是否可以使用Dropbox、Google Drive、Skydrive等作为服务器空间?

    我正在创建一个在线连接到服务器以收集信息的应用程序 为了节省从大公司租用服务器空间的费用 我想知道这些免费服务 Dropbox Google Drive Microsoft Skydrive Amazon Cloud 等 是否可以用作服务器
  • 将aar包含到aar中

    我有一个以 aar 格式分发的 android 库 它的重量为300kb 我想创建另一个库 也是 aar 格式 其中第一个库位于依赖项中 但结果库大小为30kb 所以显然它不包括第一个库 我尝试使用添加第一个库flatDir reposit
  • 如何从 mvc 控制器中的 Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable 获取值

    我知道标题有点复杂 但让我通过解释问题来澄清标题 As per image I want to filter product name in search textbox For ex In search textbox if I ente
  • 如何将文本的一部分加粗 Android String

    我想将 文本的一部分加粗 但我不知道我的文本如何
  • 在 Fortran 90 中,是否必须事先声明数组维度?

    是否有必要在任何其他代码之前声明数组维度 例如 我编写了以下简化的示例代码 PROGRAM mytest IMPLICIT NONE INTEGER i j k mysum Let array c be a k by k 2 array D
  • 当我在表单中输入输入时,React 组件不必要地重新渲染

    我有一个反应组件来管理用户登录和退出 当用户在登录字段中输入电子邮件和密码时 整个组件 导航栏 在每次击键时都会重新渲染到 Dom 从而降低了速度 当用户在登录字段中输入凭据时 如何防止导航栏重新呈现 import React useCon
  • 确定一个点是否在由给定纬度/经度的 3 个点组成的三角形内

    我有 3 个点 lat lon 形成一个三角形 我如何找到一个点是否在这个三角形内 Java 代码只是三角形 即 3 个点 public static boolean pntInTriangle double px double py do
  • 使用 Devise 设置会话长度

    我的会话在 1 3 小时未使用后超时 不确定具体多长时间 我该如何调整这个 我查看了文档 似乎找不到这方面的设置 查看 config initializers devise rb 有很多配置设置 包括config timeout in 我的
  • 主线程中的Python套接字接受防止退出

    我正在使用 python 中的套接字 只是为了了解它们 然而 我真的对以下问题感到恼火 import socket soc socket socket socket AF INET soc bind localhost 8000 soc l
  • Twig,减去 2 个日期

    如何用 twig 减去两个日期 我有一个结束日期和一个开始日期 我想要两者之间的差异 例如 对于日期 2015 02 20 和 2015 02 13 我应该获得 7 我怎样才能做到这一点 感谢帮助 第一个解决方案 推荐 使用现有库 您可以使
  • 函数模板专门化类型 - 是可选的吗?

    Is the
  • 重置 HTML5 无效输入状态

    经过验证的输入最初不会被标记为无效 直到值发生更改 如何恢复这个初始状态 我的问题的详细信息 我有一个简单的订单 如果用户单击 添加项目 按钮 我将克隆第一个项目并清空输入字段 但由于我使用的是 html5 验证 清空会使它们无效 这是单击