par
naholyr » 28 déc. 2005, 14:29
C'est pourtant bien l'évènement onclick qui devrait être gérer, à moins que tu n'utilises un label.
Pour être plus tranquille j'utilise personnellement une fonction qui tourne en parrallèle en arrière-plan et qui scan l'état de mon formulaire pour ce genre d'opérations, exemple dans ton cas :
Code : Tout sélectionner
....
<script type="text/javascript">
var formulaire = document.monformulaire;
var etatInitial = formulaire.macheckbox.checked;
function verifForm() {
var etatCourant = formulaire.macheckbox.checked;
if (etatCourant != etatInitial) {
// checkbox modifiée, agir en fonction
document.location.href = "script.php?value=" + formulaire.macheckbox.value;
}
else {
// R.A.S : on continue de faire le gué
setTimeout("verifForm()", 500);
}
}
// lancement de la fonction d'arrière plan, elle va scruter le formulaire
// et vérifier les changements toutes les 500 ms
verifForm();
</script>
</body>
</html>
Inconvénient : si l'utilisateur est très rapide, il risque de se faire surprendre par un rechargement de page "après-coup".
Avantage : indépendance totale des évènements (onclick, onchange, & cie).
C'est pourtant bien l'évènement onclick qui devrait être gérer, à moins que tu n'utilises un label.
Pour être plus tranquille j'utilise personnellement une fonction qui tourne en parrallèle en arrière-plan et qui scan l'état de mon formulaire pour ce genre d'opérations, exemple dans ton cas :[code]....
<script type="text/javascript">
var formulaire = document.monformulaire;
var etatInitial = formulaire.macheckbox.checked;
function verifForm() {
var etatCourant = formulaire.macheckbox.checked;
if (etatCourant != etatInitial) {
// checkbox modifiée, agir en fonction
document.location.href = "script.php?value=" + formulaire.macheckbox.value;
}
else {
// R.A.S : on continue de faire le gué
setTimeout("verifForm()", 500);
}
}
// lancement de la fonction d'arrière plan, elle va scruter le formulaire
// et vérifier les changements toutes les 500 ms
verifForm();
</script>
</body>
</html>[/code]
Inconvénient : si l'utilisateur est très rapide, il risque de se faire surprendre par un rechargement de page "après-coup".
Avantage : indépendance totale des évènements (onclick, onchange, & cie).