web-dev-qa-db-fra.com

Empêchez de saisir du texte, même si le champ n'est PAS désactivé / en lecture seule

Puis-je empêcher la saisie d'un champ de texte HTML même lorsque mon champ n'est PAS désactivé ou en lecture seule? J'ai cette exigence.

Peut-être que je peux bloquer toutes les entrées via JS ou jQuery?

15
gene b.

Voir ceci violon

Vous pouvez utiliser jQuery pour cela. Vous pouvez le faire comme ci-dessous

$('input').keypress(function(e) {
    e.preventDefault();
});

[~ # ~] ou [~ # ~]

vous pouvez simplement retourner false au lieu d'utiliser preventDefault(). Voir le script ci-dessous

$('input').keypress(function(e) {
    return false
});

Voir le violon

[~ # ~] ou [~ # ~]

Une version beaucoup plus simplifiée sans Javascript serait comme ci-dessous. Changez juste votre HTML comme ci-dessous

<input type="text" onkeypress="return false;"/>

Voir le violon

30
Lal

Si vous souhaitez rendre le champ complet intraitable.

$('input').focus(function(e) {
    $(this).blur();
});

Exemple: https://jsfiddle.net/DinoMyte/up4j39qr/15/

1
DinoMyte

Vous pouvez retourner false sur input événement ou utiliser .val('') pour réinitialiser le champ lorsque chaque fois que l'utilisateur essaie d'écrire quelque chose:

$('input').input(function(e) {
    $(this).val('');
});

J'espère que cela t'aides.


$('input').on('input', function(e) {
    $(this).val('');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' />
1
Zakaria Acharki