我有一個標準的HTML表單,它使用fieldset元素分成兩部分。一部分是輸入姓名,電子郵件地址等,第二部分是輸入地址自動完成功能的郵編(第二部分郵政編碼查詢字段沒有必需的屬性)。如何讓瀏覽器選擇性地忽略表單上的HTML5必需屬性
每個部分都有自己的提交按鈕。第一部分中的每個字段都有一個帶有HTML5必需屬性的表單字段。
我的問題是,當用戶在郵政編碼查找字段中輸入郵政編碼而不在第一部分輸入任何內容時,表單中的所有字段都會在不支持該屬性的瀏覽器中提交(例如Firefox 3.6)。在Firefox 4中(例如),它支持必需的屬性,並且在具有必需屬性的空字段時阻止提交表單。但是,這會破壞我對錶單的錯誤檢查和驗證(服務器端,PHP)的實現。
那麼,有沒有辦法告訴瀏覽器(在這種情況下)忽略第一節的提交按鈕被按下時,第一節的「必需」屬性?
我知道這可能違背了必需的屬性,但我已經構建了表單,因此它不必按特定順序完成,即用戶可以選擇完成郵政編碼查找字段在輸入他們的個人詳細信息之前,但所需的屬性目前強制用戶以某種方式完成表單,而不必這樣做。
此外,任何解決方案必須能夠在沒有JavaScript的情況下工作。請不要提及任何主張用Ajax替換郵政編碼查找部分的答案,我已經決定這不是一個允許的選項。
1.我避免這一點,因爲如果用戶在一個單獨的「個人信息」表單中輸入他們的詳細資料後提交郵編形式,那些細節將會丟失(不會被髮布,也不會被捕獲),這對用戶來說是非常煩人的。 – sfrost2004 2011-05-20 10:04:25
2.我認爲這可能是「最好的」js-free解決方案。 – sfrost2004 2011-05-20 10:06:24
3.不知道這將如何工作 - 你是否建議在郵遞區號表格提交後才添加必要的屬性?這是一個好主意,但是如何在沒有使用JavaScript重寫DOM的情況下工作呢? – sfrost2004 2011-05-20 10:08:46