par
Ryle » 03 oct. 2006, 16:13
En fait tu as deux solutions. Soit c'est ta fonction qui met à jour le champ, soit elle se contente de renvoyer le résultat et tu traite ce résultat ensuite.
Dans le premier cas (maj du champ en direct) :
Code : Tout sélectionner
function tester_confirm() {
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
document.nom_formulaire.nom_champ.value = reponse; // met à jour le champ nom_champ dans le formulaire nom_formulaire
}
Dans le second, la fonction s'exécute et retourne le résultat :
Code : Tout sélectionner
function tester_confirm() {
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
return reponse; // renvoi le résultat qui doit être traité ensuite
}
Ton input devient alors :
Code : Tout sélectionner
<input type="button" value="tester confirm" onclick="document.nom_formulaire.nom_champ.value = tester_confirm();" />
(tu appelles la fonction ici et tu récupères le résultat pour le mettre dans ton champ nom_champ)
Il n'est pas utile de passer "this.form" en argument de ta fonction, mais si tu le fais, il faut spécifier dans la fonction qu'elle attend des arguments :
Code : Tout sélectionner
function tester_confirm(le_formulaire) { // spécifie le nom du paramètre
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
le_formulaire.nom_champ.value = reponse; // utilise le paramètre (et donc la valeur passée)
}
C'est y plus clair ?

En fait tu as deux solutions. Soit c'est ta fonction qui met à jour le champ, soit elle se contente de renvoyer le résultat et tu traite ce résultat ensuite.
Dans le premier cas (maj du champ en direct) :
[code]function tester_confirm() {
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
document.nom_formulaire.nom_champ.value = reponse; // met à jour le champ nom_champ dans le formulaire nom_formulaire
}[/code]
Dans le second, la fonction s'exécute et retourne le résultat :
[code]function tester_confirm() {
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
return reponse; // renvoi le résultat qui doit être traité ensuite
}[/code]
Ton input devient alors :
[code]<input type="button" value="tester confirm" onclick="document.nom_formulaire.nom_champ.value = tester_confirm();" />
(tu appelles la fonction ici et tu récupères le résultat pour le mettre dans ton champ nom_champ)[/code]
Il n'est pas utile de passer "this.form" en argument de ta fonction, mais si tu le fais, il faut spécifier dans la fonction qu'elle attend des arguments :
[code]function tester_confirm(le_formulaire) { // spécifie le nom du paramètre
if (confirm("Si vous confirmez, la boîte de réponse affiche 'confirmé', sinon 'refusé'"))
var reponse = "confirmé";
else
var reponse = "refusé";
le_formulaire.nom_champ.value = reponse; // utilise le paramètre (et donc la valeur passée)
}[/code]
C'est y plus clair ? :)