相关疑难解决方法(0)

触发标准HTML5验证(表单)而不使用提交按钮?

谁知道如何在不使用提交按钮的情况下触发表单中的标准HTML5验证?(JavaScript或jQuery).

希望发送POST/GET的请求,只能做验证.

javascript forms jquery html5

71
推荐指数
5
解决办法
11万
查看次数

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

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

在此输入图像描述

考虑以下:

<form id="myForm">
    <input type="text" id="number" min="1" max="10" step="3" required>
</form>
Run Code Online (Sandbox Code Playgroud)

如果存在规范submit按钮(即<input type="submit">),并且存在验证错误,则用户代理将暂停提交并向用户显示UI:

在此输入图像描述

但是,如果用户不是使用submit输入,而是单击执行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>
Run Code Online (Sandbox Code Playgroud)

问题在于

form.checkValidity();
Run Code Online (Sandbox Code Playgroud)

检查表格的有效性(返回false,如果它是无效的),它不会触发用户界面显示.

现在我们有了问题.提交通过

  • <input type="submit"> 工作(停止并显示UI)
  • <button type="submit> 工作(停止并显示UI)
  • form.submit 不起作用(不停止;不显示UI)
  • form.checkValidity() 不起作用(不显示UI)

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

jsFiddle以上所有

也可以看看

validation html5

15
推荐指数
1
解决办法
4591
查看次数

验证没有表单标签的 Html 5 输入?

是否可以在没有表单标签的情况下触发浏览器内置的 html 5 验证过程?如果我的输入控件在不使用表单标签的情况下无效,我想显示浏览器错误消息。我知道我可以使用checkValidity函数检查验证,但如何告诉浏览器触发验证过程?

html javascript jquery

6
推荐指数
1
解决办法
1万
查看次数

checkValidity / reportVality 不适用于通过代码设置的值

如果通过 JavaScript 设置值, HTML5 checkValidity()/reportValidity()方法似乎不起作用。

考虑这个例子(JSFiddle):

<input id="text-field" maxlength="3" placeholder="Max len: 3 chars" />
<button id="set-field-value">Set</button>
<button id="check-valid">Is valid?</button>
<script>
window.onload = function() {
    var textField = document.getElementById('text-field');
    document.getElementById('set-field-value').onclick = function() {
        textField.value = 'This is a very looooooooooooooooooooooooooooooong text';
    };
    document.getElementById('check-valid').onclick = function() {
        window.alert(textField.checkValidity());
    };
};
</script>
Run Code Online (Sandbox Code Playgroud)

如果单击该Set按钮,输入字段的值将设置为无效值(长度大于 3 个字符),但该checkValidity()方法仍然表明输入有效(在 Chrome、Edge 和 Firefox 上检查)。

为什么?有没有办法确定该字段是否有效,即使其值是通过代码设置的?

html javascript

5
推荐指数
1
解决办法
2853
查看次数

标签 统计

javascript ×3

html ×2

html5 ×2

jquery ×2

forms ×1

validation ×1