微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以编程方式显示HTML5客户端表单验证错误的气泡?

我正在尝试使用 HTML5客户端验证(即在表单内),但无法看到如何以编程方式显示验证错误.

考虑以下几点:

<form id="myForm">
    <input type="text" id="number" min="1" max="10" step="3" required>
</form>

如果存在规范提交按钮(即错误,则用户代理将停止向用户提交并显示UI:" 但是,如果不是使用提交输入,the user is clicking an anchor that executes javascript(即ASP.net Webforms):

<a href='javascript:SaveChanges()'>Save Quantity</a>

<script>
   function SaveChanges()
   {
      var form = document.getElementById('myForm');
      if (form === null) return;

      if (!form.checkValidity())
      {
         //We reach here,but no UI is displayed
         return;
      }
      form.submit();       
</script>

问题是,虽然

form.checkValidity();

检查表单的有效性(如果无效返回false),则不会触发UI显示.

现在我们有问题.提交

>< input type =“submit”>作品(暂停和显示UI)
>< button type =“submit> works(halts and shows UI)
> form.submit不工作(不停止;不显示UI)
> form.checkValidity()不起作用(不显示UI)

How to programmatically display HTML5 client-side form validation error bubbles?

jsFiddle for all of the above

也可以看看

> How to programmatically display HTML5 client-side validation error bubbles?
> Trigger standard HTML5 validation (form) without using submit button?
> Triggering HTML5 Form Validation

解决方法

这可能不是最干净的方式,但是我添加一个隐藏的提交按钮,并以编程方式触发它上的点击​​事件.

原文地址:https://www.jb51.cc/html5/168654.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。