【问题标题】:How to prevent the default browser input validation?如何防止默认浏览器输入验证?
【发布时间】:2013-08-02 13:29:49
【问题描述】:

我有一个带有电话输入和一些电子邮件输入的简单表单,但是我无法摆脱单击提交按钮时出现的默认浏览器警告消息。

My CodePen

我尝试实现event.preventDefault();,但在我的情况下似乎不起作用。

$('#profile-info-form').unbind('submit').bind("submit", function(event) {
    event.preventDefault();
    console.log('save button clicked');
});

我即时创建的输入字段示例:

var myphone = "<li><label>Cell Phone:</label></li><li><input type='tel' pattern='[0-9]{10}' class='added_mobilephone' name='mobilephone' value='' autocomplete='off' maxlength='20' /></li>";


你会如何处理这个问题?

【问题讨论】:

  • 您是否尝试删除pattern 属性?只需使用 tel 类型,您仍然可以获得移动设备上的键盘界面。
  • 啊,我想就是这样!三重检查
  • 就是这样 :) 你想继续发布答案吗?再次感谢! var mobilephone = $("
  • ");
  • 添加了我的评论作为答案。
  • 标签: javascript jquery validation input preventdefault


    【解决方案1】:

    删除pattern 属性?仅使用 tel 类型仍应为您提供移动设备上的键盘界面,并且如果没有模式,则不应运行本机验证/格式化。

    【讨论】:

    • 这在这种特殊情况下有效,但是如果有一个标记为required的文本的常规输入,您将收到一条警告,它不能为空。
    【解决方案2】:

    如果您想禁用表单的客户端验证,请向表单元素添加 novalidate 属性。外汇:

    <form method="post" action="" id="profile-info-form" novalidate>
    
     // Your script Here
    
     </form>
    

    见http://www.w3.org/TR/html5/forms.html#attr-fs-novalidate

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签