Cibler l'élément appelant en retour de fonction
Résolu
emrh
Messages postés
439
Statut
Membre
-
emrh Messages postés 439 Statut Membre -
emrh Messages postés 439 Statut Membre -
Bonjour à tous...
J'ai trouvé une petite fonction sur Internet qui me convient bien pour interdire la saisie de certains caractères
( ' | ; ) qui affectent la partie dynamique de calculs sur mon formulaire...
Je voudrais appliquer cette fonction sur différents inputs mais je ne sais pas comment, en retour de fonction,
affecter UNIQUEMENT l'input concerné...
Voici ce code :
J'ai essayé de placer un this, mais ça ne fonctionne pas...
Je vous remercie d'avance pour votre aide
J'ai trouvé une petite fonction sur Internet qui me convient bien pour interdire la saisie de certains caractères
( ' | ; ) qui affectent la partie dynamique de calculs sur mon formulaire...
Je voudrais appliquer cette fonction sur différents inputs mais je ne sais pas comment, en retour de fonction,
affecter UNIQUEMENT l'input concerné...
Voici ce code :
<input class="input-formulaire" required="" type="text" name="designation" autocomplete="off" value="<?php echo $reponse['designation'];?>" id="mon_input" onkeypress="caracteresInterdits(event); return false;" /> <input class="input-formulaire prix-formulaire" name="descriptif" id="mon_input" type="text" value="<?php echo $reponse['descriptif'];?>" maxlength="100" autocomplete="off" onkeypress="caracteresInterdits(event); return false;" />
// ############ CARACTÈRES INTERDITS ####################
function caracteresInterdits(event) {
var keyCode = event.which ? event.which : event.keyCode;
var touche = String.fromCharCode(keyCode);
var champ = document.getElementById('mon_input');
var caracteres = ';\'|';
/*if(caracteres.indexOf(touche) >= 0) {// Code pour caractères autorisés
champ.value += touche;
}*/
if (caracteres.indexOf(touche) == -1) { // Code pour caractères interdits
champ.value += touche;
}
}
J'ai essayé de placer un this, mais ça ne fonctionne pas...
Je vous remercie d'avance pour votre aide
Configuration: Linux / Chrome 99.0.4844.51
3 réponses
-
Bonjour,
Tu as tout ce qu'il te faut dans la variable eventfunction caracteresInterdits(event) { var keyCode = event.which ? event.which : event.keyCode; var touche = String.fromCharCode(keyCode); var champ = event.target; var caracteres = ';\'|'; /*if(caracteres.indexOf(touche) >= 0) {// Code pour caractères autorisés champ.value += touche; }*/ if (caracteres.indexOf(touche) == -1) { // Code pour caractères interdits champ.value += touche; } }
-
Tout semble simple quand on connait...
Je te remercie Jordan pour ton aide rapide !
Du coup je peux remettre les id que je veux sur mes input ! :-)
Je note une chose étrange tout de même en testant cette fonction c'est que si je clic au beau milieu d'un mot pour y ajouter un caractère autorisé, elle me balance ce caractère en fin de saisie dans l'input ! -
Je pense qu'il va falloir que je regarde du côté des chaînes de caractères et des propriétés .lenth !
;-)