2016-11-12 51 views
0

我有一個網上商店的客戶,與客戶將emojis和特殊字符放入某個文本輸入字段時出現問題。我們只希望他們能夠使用空格,數字,字母和帶有重音和元音變音等的字母。當我嘗試這個解決方案時,它工作。如何複製Safari的「模式」屬性?

pattern="[ A-zÀ-ÿ0-9]" 

問題是,它適用於我們測試過的每個瀏覽器,除了Safari。我是一個嚴肅的Javascript n00b;我已經成功地寫jQuery和JavaScript函數自己,做了什麼,我需要他們做的,但我的問題是雙重的:

  1. 我將如何去寫一個香草JS或JQuery的功能複製此模式的功能?

  2. 更重要的是(因爲可能的解決方案我見過省略了這些信息),實際上,我怎麼把它鏈接到輸入,所以它工作擺在首位?

謝謝你給我的任何幫助!

+0

不管你做什麼客戶端,你總是需要清理服務器端。很容易提交任何東西,不管客戶端腳本 – charlietfl

+0

嘗試用你的模式中的'\ s'替換空格'''',看看Safari是否拿起它 – Ibrahim

回答

0

固定!答案非常簡單。一個填充工具,按照這個網站:

http://www.useragentman.com/blog/2010/07/27/creating-cross-browser-html5-forms-now-using-modernizr-webforms2-and-html5widgets-2/

這裏大致是我使用的代碼。原來另一個dev已經添加了整個Modernizr.min.js腳本來解決另一個問題。

<script type="text/javascript" src="/path/js/Modernizr-2.5.3.forms.js"></script> 

<script type="text/javascript" data-webforms2-support="validation" src="/path/js/html5Forms.js" ></script> 

鏈接到兩個站點同時下載Modernizr的和HTML5表單,對於任何用戶的便利與此相同的問題。

https://modernizr.com/download?setclasses&q=input%20pattern https://github.com/zoltan-dulac/html5Forms.js/tree/master