javascript - setCustomValidity 不是函数

标签 javascript jquery html validation

这是我运行的简单代码,希望能够控制 html5 验证,但浏览器显示 setCustomvalidity 不是函数。我做错了什么?

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>
    <input type='text' id='tocheck' />
    <script>
        $("#tocheck").click(function () {
            var $this = $(this);
            $this.setCustomValidity("slkdjf");
        });
    </script>
</body>
</html>

最佳答案

jQuery 没有 setCustomValidity 函数,但实际的 DOM 元素有。 jQuery 选择器总是返回一个数组,因此您可以使用零索引来获取实际的 DOM 元素,或者您可以只使用 this(而不是 $(this))来获取您可以在其上设置自定义有效性的 DOM 元素。

 <!doctype html>

    <html>
    <head>

    <meta charset="utf-8">
    <title>Untitled Document</title>


    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

   </head>

  <body>
      <form>
      <input type='text' id='tocheck'/>
      <button>
      Submit
      </button>
      </form>
      <script>
       $("#tocheck").click(function(){
            this.setCustomValidity("slkdjf");
       });
     </script>
  </body>

关于javascript - setCustomValidity 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51582227/

相关文章:

javascript - IE中的视差效果刷新率很恐怖

javascript - 元素内部 html 未清除

html - 前置标签添加新行

javascript - 如何使用 jQuery 从 DOM 元素创建 JavaScript 变量

javascript - jquery ajax get with serialize on success get url compiled

javascript - 获取过滤元素的ID

jquery - 如何使用 jQuery 检查所有复选框

javascript - 如何优化在 canvas JS 上绘制大量元素?

javascript - 转换日期时间格式

Javascript 创建方法 - 如何输出