即使必需的输入为空,也会在Safari上触发Onsubmit功能

时间:2017-02-16 22:49:27

标签: javascript html5 required onsubmit webshim

必需的属性在Safari中无效。

要解决此问题,我正在使用Webshim。这一切都很完美,直到我注意到当我在表单标签上使用 onsubmit 时,它会在您提交时触发,无论是否有一些必需的输入为空。 您在输入上看到“请填写此字段”,但无论如何都会触发onsubmit函数。

<form onsubmit="alert('hi')" action="#">
  <input placeholder="native input works" required>
  <input type="submit">
</form>

这是我初始化Webshim的方式:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/webshim/1.16.0/dev/polyfiller.js"></script>
    <script> 
        webshim.activeLang('en');
        webshims.polyfill('forms');
        webshims.cfg.no$Switch = true;
    </script>

这里有一个有效的例子。您可以在Safari上进行尝试,在Chrome中,您将看到在Safari中触发警报,而不是在Chrome中。

https://jsfiddle.net/3pxsvxxj/

拜托,我需要解决这个问题,我找不到办法。

干杯。

1 个答案:

答案 0 :(得分:0)

正如您所说,Safari浏览器不支持列出here{ "authorId":"12" "author": "user A", "assingee": null, "headline": "Login Page for my app", "text":"Build fancy login page" } 属性。

如果你提到this问题,它有提供功能的替代方案。

既然你说你正在使用webshim,请参阅我链接的问题中的this回答,其中提供了使用webshim的示例:

  

此时,Safari并不支持&#34;必需&#34;输入属性。 http://caniuse.com/#search=required

     

使用&#39; required&#39; Safari上的属性,您可以使用&#39; webshim&#39;

     

1 - 下载webshim

     

2 - 输入此代码:

required