Reset d'un bouton radio sur le web

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Reset d'un bouton radio sur le web

Messagepar BenoitDuJura » 16 Déc 2009 à 10:43

Bonjour à tous,

je sollicite votre aide pour un problème que je n'arrive pas à résoudre.
Dans un masque en html, j'ai un champ de type radio button, possédant 4 valeurs possibles.
J'ai créé un bouton en javascript qui me permet de décocher les radios en cas d'erreur de saisie.
Le problème, si j'ai déjà enregistré le document avec une case cochée, j'ai beau décocher le radio button, à l'enregistrement, la valeur précédemment sauvegardé reste dans le document, elle n'est pas remise à zéro.

J'ai tenté de faire des elt.value="" dans ma fonction javascript en plus de décocher, mais rien n'y fait.

Avez-vous déjà été confronté à ce phénomène ?
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON

Messagepar STEVEDAVE69 » 16 Déc 2009 à 11:24

Salut

Tu es sur que c est pas un problème de cache ?

Sinon utilise de l aJAX
STEVEDAVE69
Premier posts
Premier posts
 
Message(s) : 16
Inscrit(e) le : 07 Juil 2009 à 10:36

Messagepar Michael DELIQUE » 16 Déc 2009 à 11:30

salut

sur les bouton radio (comme sur les champs liste), le elt.value ne fonctionne pas il faut passer par elt.[i].checked

un exemple de traitement => http://forum.dominoarea.org/routine-de- ... 14608.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar BenoitDuJura » 16 Déc 2009 à 11:45

Michael DELIQUE a écrit:salut
sur les bouton radio (comme sur les champs liste), le elt.value ne fonctionne pas il faut passer par elt.[i].checked


C'est ce que je fais dans ma fonction js :
Code : Tout sélectionner
var elt = eval('document.forms[0].' + champ);
      for (i=0 ; i < elt.length; i++) {
         elt[i].checked = false;
      }

champ est une variable contenant le nom du champ.

Mais bon, j'ai rusé en utilisant un champ caché dans lequel je stocke une chaine particulière en cas de RAZ, et je traite ds le webquerysave.

Ajax, dans ce cas là, n'est pas envisageable. Si tu modifies le document par une requête ajax, et que tu lances le webquerysave ensuite, tu vas avoir un conflit.
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON

Messagepar kochiz » 16 Déc 2009 à 11:50

Bonjour,

Je comprends pas pourquoi tu es contrains de ruser :?

Tu n'aurais pas une valeur par défaut qui traîne.
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar BenoitDuJura » 16 Déc 2009 à 11:53

kochiz a écrit:Bonjour,

Je comprends pas pourquoi tu es contrains de ruser :?

Tu n'aurais pas une valeur par défaut qui traîne.


Non, je veux qu'aucune case ne soit cochée si je clique sur le bouton.
Ça marche à l'affichage, mais la valeur précédente reste stockée lors de l'enregistrement.
Essaye dans un masque sous web, tu verras.
Si jamais il fallait mettre une valeur par défaut, je n'aurais pas de problème.
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON

Messagepar kochiz » 16 Déc 2009 à 12:23

C'est donc un problème de sauvegarde de ton document sur ce champ en particulier. Tu le gères comment ton submit ?
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar BenoitDuJura » 16 Déc 2009 à 13:05

kochiz a écrit:C'est donc un problème de sauvegarde de ton document sur ce champ en particulier. Tu le gères comment ton submit ?


Oui, ce problème survient sur tous les champs de type radio, sur lesquels tu souhaites réinitialiser la valeur, alors que le document a été enregistré une fois avec une valeur pour ce champ.
Quand au submit, classique : document.forms[0].submit(); qui déclenche le webquerysave.

Le fait qu'il n'y ait aucune case de coché ne remet pas le champ à vide lors de l'enregistrement.
Mais bon, comme je le disais plus haut, je m'en suis sorti autrement.
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON

Messagepar kochiz » 16 Déc 2009 à 13:39

Je comprends bien ton souci mais du coup en plus du checked false pour gérer l'affichage tu dois aussi gérer la valeur associée au champ avec value pour effectivement sauvegarder la nouvelle valeur (vide).
Patience et longueur de temps font plus que force ni que rage


Version Client 7
Version serveur 7 windows 2000/2003
Avatar de l’utilisateur
kochiz
Empereur des posts
Empereur des posts
 
Message(s) : 1232
Inscrit(e) le : 13 Jan 2005 à 11:01
Localisation : Hérault

Messagepar BenoitDuJura » 16 Déc 2009 à 15:09

kochiz a écrit:Je comprends bien ton souci mais du coup en plus du checked false pour gérer l'affichage tu dois aussi gérer la valeur associée au champ avec value pour effectivement sauvegarder la nouvelle valeur (vide).


Je suis bien d'accord :lol:

j'ai donc ajouté dans mon code :
Code : Tout sélectionner
var elt = eval('document.forms[0].' + champ);
elt.value = '';
      for (i=0 ; i < elt.length; i++) {
         elt[i].checked = false;
         elt[i].value = '';
      }


J'ai même récupéré le champ en passant par
Code : Tout sélectionner
var elt = document.getElementById('monId');
elt.value = '';


rien n'y fait .... dès le déclenchement de l'enregistrement, la valeur stockée précédemment revient ...
Bizarre.
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON

Messagepar Michael DELIQUE » 16 Déc 2009 à 15:11

salut

de mémoire le sujet a déjà été abordé, fait une petite recherches
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar BenoitDuJura » 16 Déc 2009 à 15:35

Michael DELIQUE a écrit:salut

de mémoire le sujet a déjà été abordé, fait une petite recherches


C'est ce que j'ai fait avant de poster, mais je n'ai rien trouvé.
Je vais élargir mon champ de recherche alors.

EDIT: j'ai trouvé ça :
http://forum.dominoarea.org/radio-bouton-et-java-script-t23999,search_id,782767527.html
Et bien , je serais curieux de connaitre ta solution que tu ne peux pas poster sur le forum :D
BenoitDuJura
Premier posts
Premier posts
 
Message(s) : 26
Inscrit(e) le : 31 Jan 2007 à 10:19
Localisation : LYON


Retour vers Développement

cron