Ответ 1
Не уверен, что вы пытаетесь выполнить в своих первых нескольких строках, но вы можете попробовать следующее:
$(document).ready(function()
{
$("#ms_num").attr('maxlength','6');
});
Я хочу изменить maxlength текстового поля с помощью JavaScript или jQuery: я пробовал следующее, но мне это не помогло:
var a = document.getElementsByTagName('input');
for(var i=0; i<a.length; i++) {
if((a[i].type!= 'radio')||(a[i].type!= 'checkbox'))
a[i].maxlength = 5;
}
document.getElementsByTagName('input')[1].maxlength="3";
$().ready(function()
{
$("#inputID").maxlength(6);
});
Что я делаю неправильно?
Не уверен, что вы пытаетесь выполнить в своих первых нескольких строках, но вы можете попробовать следующее:
$(document).ready(function()
{
$("#ms_num").attr('maxlength','6');
});
Свойство максимальной длины имеет верблюжку: maxLength
jQuery по умолчанию не использует метод maxlength. Кроме того, функция вашего документа не является технически корректной:
$(document).ready(function () {
$("#ms_num")[0].maxLength = 6;
// OR:
$("#ms_num").attr('maxlength', 6);
// OR you can use prop if you are using jQuery 1.6+:
$("#ms_num").prop('maxLength', 6);
});
Кроме того, поскольку вы используете jQuery, вы можете переписать свой код следующим образом (воспользовавшись jQuery 1.6 +):
$('input').each(function (index) {
var element = $(this);
if (index === 1) {
element.prop('maxLength', 3);
} else if (element.is(':radio') || element.is(':checkbox')) {
element.prop('maxLength', 5);
}
});
$(function() {
$("#ms_num").prop('maxLength', 6);
});
установите атрибут, а не свойство
$("#ms_num").attr("maxlength", 6);
без jQuery вы можете использовать
document.getElementById('text_input').setAttribute('maxlength',200);
$('#yourTextBoxId').live('change keyup paste', function(){
if ($('#yourTextBoxId').val().length == 11) {
$('#yourTextBoxId'.val($('#yourTextBoxId'.val().substr(0,10));
}
});
Я использовал это вместе с кэшированием vars и selectors для производительности, и это сделало трюк.
Вы можете сделать это следующим образом:
$('#inputID').keypress(function () {
var maxLength = $(this).val().length;
if (maxLength >= 5) {
alert('You cannot enter more than ' + maxLength + ' chars');
return false;
}
});