Bonjour, alors que je suis en train de coder un portail de petites annonces, il m'est devenu nécessaire de contrôler que l'utilisateur ne dépassait pas le nombre de caractères autorisés, et ce, alors qu'il est en train de tapper son texte. J'en ai trouvé quelques exemples, mais il me semblaient trop long et pas assez souple d'utilisation. C'est donc pourquoi j'y vais de ma propre plume et que j'écris mon premier code java que je partage volontier avec vous tous, qui m'avez aidé sans le savoir à certain moment.Le code est composé de trois petites fonctions qui gèrent chacune un type évennement clavier:
-- function verif_press gère quand l'utilisateur enfonce une touche, mais plus spécialement quand il la maintient enfoncée.
-- function verif_change gère quand l'utilisateur sort du TEXTAREA et le bloquera tant que le nombre de caractère dépassera celui autorisé. (lors d'un copy/past, le TEXTAREA peut dépasser la valeur autorisée)
-- function show_nb_car se contente d'inscrire le nombre de caractères dans un champs de contrôle. Elle est invoqué l'orsque l'utilisateur relache la touche.
Petite expliquation du formulaire. Le TEXTAREA à contrôler va de paire avec son champ de contrôle. Pour l'exemple, l'un s'appelle "suite", l'autre "nb_car_suite". Lors de l'appel aux fonctions, "this" correspond au TEXTAREA lui même, "document.text.nb_car_suite fait référence au champs de contrôle, 800 est le nombre maxi autorisé.
<TEXTAREA name="suite" rows="13" cols="80" onKeyup="show_nb_car(this,document.text.nb_car_suite)" onKeypress="return verif_press(this,800,document.text.nb_car_suite)" onchange="return verif_change(this,800)" ><?php echo $_SESSION['annonce'][27]; ?></TEXTAREA><br>
<span class="VertSmall">Nombre de caractères de ce champs : <input type="text" name="nb_car_suite" size="3" value="<?php echo strlen($_SESSION['annonce'][27]); ?>"> / 800 max.</span><br>
Il est évident qu'il manque la partie de traitement du formulaire pour quand l'utilisateur clique sur le bouton, mais cela ne fait pas partis du sujet de ce code.
Voila, bon code à vous tous...