我有一個簡單的表單,其中包含一個<input>
用於填寫電子郵件地址,如果用戶決定這樣做,即該字段不是強制性的。我還使用type="email"
屬性,因爲它有助於自動完成,並且它對智能手機用戶特別有益 - 它會導致鍵盤重新排列以便於電子郵件輸入。瀏覽器自動驗證一個非空值的非必填字段
但是,也有一些用戶沒有像高級移動設備那樣在輸入@
符號時可能會遇到一些困難。此外,還有一些桌面用戶無法輸入;我親自認識一些人,我認爲還有更多。對於這些用戶,我將<input>
的初始值設置爲@
。我會強調這不是佔位符。
但現在這兩件事情衝突。由type="email"
激活的瀏覽器本機表單驗證機制現在阻止了表單提交,因爲他們不瞭解該字段不是強制性的,並且我不介意發送@
作爲值的用戶。
有沒有辦法告訴瀏覽器驗證字段只有當的值不是@
或空字符串?很明顯,使用javascript創建我自己的驗證器真的很容易,但我不想訴諸於此。
或者我的前提是用戶無法輸入@
標誌爲假,我可以通過簡單地將<input>
空置於第一位來解決此問題?有沒有關於此事的研究?我仍然偶爾會看到最近在各種技術論壇上絕望的用戶投訴,我想大多數類似的沒有經驗的用戶不會去網上詢問,也許是因爲他們甚至不知道如何去做。
還是應該用舊的type="text"
?
你認爲我應該怎麼做?
預先感謝您!
我不知道你的用戶組,但總的來說,我認爲人們知道電子郵件地址,至少知道如何編寫這些地址。另外,如果你看看Facebook這樣的網站,有1110億用戶,並且在電子郵件文本框中沒有「@」號,似乎人們可以處理它。 - 再次檢查你的用戶組,可能與facebook非常不同,並自己回答這個問題。另外,如果有人不知道如何寫「@」,那麼這個人很可能首先不會有電子郵件地址。 – peter