我想知道使用输入类型= "number"时使用Safari浏览器(MAC OS和版本7.0.4(9537.76.4))进行表单验证是否无法正常工作:访问时
http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_max_min
使用Safari浏览器我希望当我在"Quantity"字段中输入指定范围之外的字母或数字时会收到警告 . 但没有任何反应,输入被发送到服务器......
使用Chrome时我收到警告......
我还检查了http://html5test.com网站,并指出支持输入类型编号和最小和最大属性 . 但为什么它不起作用?我做错了什么或者我不理解什么?
任何帮助非常感谢...
谢谢托比
编辑:正如Frank 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);
}
});
2 回答
根据Can I Use dot com,Safari目前支持表单验证 . 通过iOS上的Safari完全没有,甚至 . Safari在非平板电脑上只有部分支持 . 见http://caniuse.com/form-validation .
如果您仍在寻找答案,可以使用输入类型= "number" .
min max ork如果按顺序设置:1-name 2-maxlength 3-size 4-min 5-max只需复制它