是否有更好的方法来确保最大长度?我注意到maxlength和even max value属性在某些html5输入类型的所有浏览器中都不起作用:
我这样做是为了确保它有效,但有更清洁的选择吗?
的javascript / jquery的:
var checkLength = function(element, maxlength) {
elementValue = $(element).val();
if($(element).val().length > maxlength) {
$(element).val(elementValue.substr(0, maxlength));
};
}
HTML:
<input name="myNumberField" id="myNumberField" type="tel" onKeyUp="checkLength(this, 5);" />
关于这个的任何想法?
答案 0 :(得分:0)
jquery有form validation plugin可以处理这个问题。它甚至告诉用户他们输入的字符太多或太少。代码看起来像这样:
$("#"+formname).validate({
rules: {
myNumberField: {
required: true,
minlength: 4,
maxlength: 50
},
// etc
}
});
答案 1 :(得分:0)
/ *编辑:
你可以这样做:
$("input").keypress(function(e) {
if($(this).val().length > 30) {
e.stopPropagation(); //or e.preventDefaut(); don't remember
}
});
但是你必须在服务器端控制它;)
编辑* /
有2种电源解决方案:
纯HTML:
<input type="text" id="Textbox" name="Textbox" maxlength="10" />
javascript one(将其附加到onKey事件):
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
但无论如何,没有好的解决方案。你不能适应每个客户的糟糕HTML实现,这是一场不可能的胜利。这就是为什么在服务器端使用PHP / Python /任何脚本检查它会好得多。