2015-08-20 17 views
6

在Chrome中輸入重音字符到輸入類型電子郵件時,它將值更改爲奇怪。Chrome中輸入類型的電子郵件值與重音字符錯誤

當輸入電子郵件:[email protected]ücher.ch輸入值成爲:[email protected]

$('#email').val() // --> [email protected] 
document.getElementById('email').value // --> [email protected] 

這不會發生在輸入類型文本或其他主流瀏覽器中。

例如,看這個fiddle。這裏發生了什麼,我該如何解決它?

+2

同樣的問題 - http://stackoverflow.com/questions/24818970/accented-chars-are -not-retrieve-correctly如果你需要電子郵件類型,第二個答案可能會有所幫助... – sinisake

+2

看起來Chrome不支持頂級域名(IDN)並將它們轉換爲[Punycode](https://en.wikipedia.org/ wiki/Punycode) – CodingIntrigue

+0

這兩個地址是相同的,你應該可以使用。 –

回答

-1

Fiddle

<form> 
    <input id="email2" type="text"placeholder="[email protected]" autofocus required pattern="[^ @]*@[^ @]*"> 
    <input type ="submit"> 
</form> 

對於這個問題,這是因爲輸入的電子郵件類型,之後「@」符號瀏覽器給出了這樣的錯誤。我認爲他們認爲電子郵件地址總是必須是英文的。

仍要使用文本類型,然後提供電子郵件正則表達式

+0

請參閱Lukas Kral的答案,爲什麼這不是一個錯誤 – beercohol

相關問題