2014-07-03 85 views
2

我想知道當使用輸入類型=「數字」時Safari瀏覽器(MAC OS和版本7.0.4(9537.76.4))的表單驗證工作不正常: 使用Safari瀏覽器訪問
http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_max_min
我希望在「數量」字段中輸入一個字母或超出指定範圍的數字時,我會收到警告。但沒有任何反應,輸入發送到服務器...
當使用鉻我得到一個警告...
我也檢查了http://html5test.com網站,它表明,輸入類型號和最小和最大屬性是支持的。但爲什麼它不起作用?我做錯了什麼,或者我不瞭解什麼?Safari瀏覽器html輸入類型最小最大驗證不起作用

任何幫助,不勝感激...

感謝 託比

編輯:弗蘭克Conijn提到它是真正的Safari工作沒有。我現在的JavaScript解決它(選擇所有號碼輸入字段是否含有一個數字,如果是在指定的範圍內):

$("input[type='number']").change(function(){ 
    var maxValue = parseInt($(this).attr('max')); 
    var minValue = parseInt($(this).attr('min')); 
    var enteredValue = parseInt($(this).val()); 

    if($.isNumeric(enteredValue)) { 
     var enteredValue = parseInt($(this).val()); 
     if (enteredValue > maxValue) { 
      $(this).val(maxValue); 
     } else if (enteredValue < minValue) { 
      $(this).val(minValue); 
     } 
    } else { 
     $(this).val(minValue); 
    } 


}); 

回答

0

據我可以使用點com,表單驗證目前通過Safari瀏覽器支持不佳。 iOS上的Safari甚至都沒有。 Safari僅在非平板電腦上提供部分支持。請參閱http://caniuse.com/form-validation

+0

大謝謝!我現在添加了我的建議。 – Tobi

+0

@Tobi:不客氣。而僅供參考:在瀏覽器中,新瀏覽器版本中也存在更多不一致的表單行爲。只是[看看這裏](http://stackoverflow.com/questions/24407109/new-webkits-convert-decimal-comma-to-dot-and-vice-versa-in-number-type-in​​puts),以請參閱新的歐洲 - 歐洲WebKit版本將數字格式中的小數點逗號更改爲點,並將數字輸出字段中的小數點更改爲逗號...因此,您做出了恢復爲Javascript驗證的正確決定。 –

0

如果你仍然在尋找答案,你可以使用input type =「number」。
最小最大掃如果以該順序設置: 1-名稱 2-的maxlength 3-尺寸 4分鐘 5 - 最大 只是將它複製

<input name="X" maxlength="3" size="2" min="1" max="100" type="number" /> 
相關問題