JQuery - Javascript - Evenement Change
Bonsoir
J'ai un souci que je ne sais pas résoudre.
J'utilise la fonction change sur une boite de sélection pour afficher certaines balises (affichage d'informations complémentaires)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
jQuery(document).ready(function() {
$("#htmlname").change(function() {
<!--- appel au serveur pour obtenir les infos -->
$("#telmail").html(response.telmail);
$("#telmail").css("visibility", "visible");
$("#spantiersmail").css("visibility", "visible");
$("#tierstel").css("visibility", "visible");
$("#tierstel").val(response.tel);
};
}
<!-- champ de saisie -->
<br>'."\n"
<input id="htmlname" type="text" name="htmlname" value="'" > |
Ceci me permet de saisir un client existant et d'obtenir son téléphone et un champ d'info tel-mail de ses contacts.
Si je veux créer un nouveau tiers, je vais saisir son nom dans une autre boite, avec, dès qu'on clique, la remise à zero des champs précédents éventuellement renseignés
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<input id="'.$htmlnvname.'" type="text" name="htmlnvname" onclick="EffaceTiers(this)" >
function EffaceTiers(o) {
if ( o.value == "nouveau tiers")
document.getElementById("htmlnvname").value="";
document.getElementById("htmlnvname").style.color="#000000";
document.getElementById("htmlname").value="";
document.getElementById("telmail").innerHTML="";
document.getElementById("telmail").style.visibility = "hidden"
document.getElementById("tierstel").style.visibility = "visible";
document.getElementById("tierstel").value=""; ';
} |
(PS - si vous trouver des restes de caractères type '," ou $, c'est que ce code est un extract de ce que j'ai écrit en PHP)
Ca marche pas mal, sauf que, dans la routine EffaceTiers, il y a la modification du champ htmlname , ce qui provoque l'activation de la routine change de ce champ, et ceci remet remet les anciennes valeurs de mes champs testel et telmail.
C'est pas top!
Quel subterfuge pour parer cela? Une variable globale? Est-ce que cela existe, une syntaxe qui permette à une variable qu'être reconnue par tous ces petits bouts de programme? Je sais que je pourrais la transformer de jquerry à javascript. Pour pour larendre globale?
Est-ce que j'ai été claire? Est-ce que quelqu'un a une idée?
Merci
Claude