web-dev-qa-db-fra.com

Définition de la longueur maximale de la zone de texte avec JavaScript ou jQuery

Je veux changer la longueur maximale d'une zone de texte avec JavaScript ou jQuery: j'ai essayé ce qui suit mais cela n'a pas semblé aider:

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);
});

Qu'est-ce que je fais mal?

28
shebelaw

Vous n'êtes pas sûr de ce que vous essayez d'accomplir sur vos premières lignes, mais vous pouvez essayer ceci:

$(document).ready(function()
{
    $("#ms_num").attr('maxlength','6');
});
102
Jay

La lunghezza massima della proprietà est une affaire de chameaux:maxLength

jQuery non viene fornito avec un metodo maxlength pour impostazione predefinita. Informez-vous sur le thème de la recherche documentaire non corrigée:

$(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);
});

Cliquez ici pour afficher le code de la chanson, cliquez ici pour le code du code de la propriété intellectuelle (plus de 1.6 ans):

$('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);
});
26
Eli

définir l'attribut, pas une propriété

$("#ms_num").attr("maxlength", 6);
5
hunter

sans jQuery, vous pouvez utiliser

document.getElementById('text_input').setAttribute('maxlength',200);
3
Monzur
$('#yourTextBoxId').live('change keyup paste', function(){
    if ($('#yourTextBoxId').val().length > 11) {
        $('#yourTextBoxId').val($('#yourTextBoxId').val().substr(0,10));
    }
});

Je l'ai utilisé avec vars et sélecteurs en cache pour la performance et cela a fait l'affaire.

1
Knox

Que diriez-vous de maxlength="10"? Par exemple,

<input type="text" maxlength="10">
0
Evan TOder

Vous pouvez le faire comme ça:

$('#inputID').keypress(function () {
    var maxLength = $(this).val().length;
    if (maxLength >= 5) {
        alert('You cannot enter more than ' + maxLength + ' chars');
        return false;
    }
});
0
Div Sol