2017-02-16 22 views
3

必需屬性在Safari中不起作用。即使所需的輸入爲空,Onsubmit功能也會在Safari上觸發

要解決這個問題,我使用Webshim。直到我注意到,當我使用在窗體標籤上提交時,它會在您提交時觸發,無論這些輸入是否爲空。 您在輸入中看到「請填寫此字段」,但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/

請,我需要解決這個問題,我不能找到一種方法。

乾杯。

+0

你能分享: - 下載webshim

2 - 將這個代碼http://caniuse.com/#search=required

若要使用Safari中的 '必要' 的屬性,您可以

1使用 'webshim'您初始化webshim的部分代碼? – Santi

+0

對不起Santi,我忘了那個細節。我把它添加到帖子中。 –

回答

0

如您所說,Safari瀏覽器不支持required屬性,如列出here

如果您參考this的問題,它有提供功能的替代方案。

既然你說你正在使用webshim,從我掛的問題,提供使用webshim的一個例子是指this答案:

這時,Safari瀏覽器不支持「要求」輸入屬性。

<head> 
    <script src="js/jquery.js"></script> 
    <script src="js-webshim/minified/polyfiller.js"></script> 
    <script> 
     webshim.activeLang('en'); 
     webshims.polyfill('forms'); 
     webshims.cfg.no$Switch = true; 
    </script> 
</head> 
+0

Hi Mor,這就是爲什麼我說我使用Webshim來解決不能在Safari上工作的「必需」。但不是我在帖子中描述的問題。 –

+0

我的不好,請看看更新的答案 –

+0

是的,我已經在我的代碼中有所有的。我把它添加到帖子中。 Webshim解決了我的「必需」輸入問題,但它不會停止提交函數來觸發。 –

相關問題