Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme
faire une validation coté client en premier lieu.
--
Raphaël
http://www.r-wils.com/perso
« Don't mean a thing if you ain't got that swing ! »
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour attribut name la valeur 'submit', une collection puisqu'il y en a plusieurs. Pour accéder aux différents éléments il faut utiliser frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question. Je ne sais pas si on peut accéder directement aux valeurs envoyées par le formulaire, ce qui serait la seule façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une variable avec l'événement onclick sur chaque bouton (genre onclick="foo=this.value;") et de lire cette variable dans ta fonction de validation.
Pas très satisfaisant, c'est sûr...
-- Y.D.
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour
attribut name la valeur 'submit', une collection puisqu'il y en a
plusieurs. Pour accéder aux différents éléments il faut utiliser
frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question. Je ne sais pas si on peut accéder
directement aux valeurs envoyées par le formulaire, ce qui serait la seule
façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une variable
avec l'événement onclick sur chaque bouton (genre onclick="foo=this.value;") et
de lire cette variable dans ta fonction de validation.
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour attribut name la valeur 'submit', une collection puisqu'il y en a plusieurs. Pour accéder aux différents éléments il faut utiliser frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question. Je ne sais pas si on peut accéder directement aux valeurs envoyées par le formulaire, ce qui serait la seule façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une variable avec l'événement onclick sur chaque bouton (genre onclick="foo=this.value;") et de lire cette variable dans ta fonction de validation.
Pas très satisfaisant, c'est sûr...
-- Y.D.
Bul
bonjour, ou d'envoyer ( ou pas ) le formulaire dans la function valider en remplaçant les <input type=submit par <input type=button ? <script type="text/javascript"> function valider(frm) { alert(frm.value); form1.submit(); // pour envoyer } </script> </HEAD> <BODY> <form name="form1" action="/admin/index.php" method="post" accept="text/plain" enctype="multipart/form-data"> <input type="button" name="submit" value="Enregistrer" onclick="valider(this);"/> <input type="button" name="submit" value="Ouvrir" onclick="valider(this);"/> <input type="button" name="submit" value="Visualiser" onclick="valider(this);"/> <input type="button" name="submit" value="Télécharger" onclick="valider(this);"/> <input type="button" name="submit" value="Supprimer" onclick="valider(this);"/> </form> @+
bonjour,
ou d'envoyer ( ou pas ) le formulaire
dans la function valider en remplaçant
les <input type=submit par
<input type=button ?
<script type="text/javascript">
function valider(frm)
{ alert(frm.value);
form1.submit(); // pour envoyer
}
</script>
</HEAD>
<BODY>
<form name="form1"
action="/admin/index.php"
method="post"
accept="text/plain"
enctype="multipart/form-data">
<input type="button" name="submit" value="Enregistrer"
onclick="valider(this);"/>
<input type="button" name="submit" value="Ouvrir"
onclick="valider(this);"/>
<input type="button" name="submit" value="Visualiser"
onclick="valider(this);"/>
<input type="button" name="submit" value="Télécharger"
onclick="valider(this);"/>
<input type="button" name="submit" value="Supprimer"
onclick="valider(this);"/>
</form>
@+
bonjour, ou d'envoyer ( ou pas ) le formulaire dans la function valider en remplaçant les <input type=submit par <input type=button ? <script type="text/javascript"> function valider(frm) { alert(frm.value); form1.submit(); // pour envoyer } </script> </HEAD> <BODY> <form name="form1" action="/admin/index.php" method="post" accept="text/plain" enctype="multipart/form-data"> <input type="button" name="submit" value="Enregistrer" onclick="valider(this);"/> <input type="button" name="submit" value="Ouvrir" onclick="valider(this);"/> <input type="button" name="submit" value="Visualiser" onclick="valider(this);"/> <input type="button" name="submit" value="Télécharger" onclick="valider(this);"/> <input type="button" name="submit" value="Supprimer" onclick="valider(this);"/> </form> @+
Baroiller Pierre-Emmanuel
nommes peut-être déjà différement des bouton (submit1,submit2,submit3, etc...) sinon, mets plutot submit[0] submit[1] submit[2], etc... car là, tu as plusieurs fois le même "nom" pour un champ, js ne pourra jamais le retrouver ;)
a+
"Raphaël Wils" a écrit dans le message de news:411b9794$0$313$
Bonjour
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined". Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme faire une validation coté client en premier lieu.
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
nommes peut-être déjà différement des bouton (submit1,submit2,submit3,
etc...)
sinon, mets plutot submit[0] submit[1] submit[2], etc...
car là, tu as plusieurs fois le même "nom" pour un champ, js ne pourra
jamais le retrouver ;)
a+
"Raphaël Wils" <raphaelpointwilsatclubtiretinternetpointfr@invalide.com> a
écrit dans le message de
news:411b9794$0$313$7a628cd7@news.club-internet.fr...
Bonjour
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme
faire une validation coté client en premier lieu.
--
Raphaël
http://www.r-wils.com/perso
« Don't mean a thing if you ain't got that swing ! »
nommes peut-être déjà différement des bouton (submit1,submit2,submit3, etc...) sinon, mets plutot submit[0] submit[1] submit[2], etc... car là, tu as plusieurs fois le même "nom" pour un champ, js ne pourra jamais le retrouver ;)
a+
"Raphaël Wils" a écrit dans le message de news:411b9794$0$313$
Bonjour
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined". Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme faire une validation coté client en premier lieu.
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
Raphaël Wils
YD wrote:
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour attribut name la valeur 'submit', une collection puisqu'il y en a plusieurs. Pour accéder aux différents éléments il faut utiliser frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question.
J'en prend bonne note quand meme.
Je ne sais pas si on peut accéder
directement aux valeurs envoyées par le formulaire, ce qui serait la seule façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une variable avec l'événement onclick sur chaque bouton (genre onclick="foo=this.value;") et de lire cette variable dans ta fonction de validation.
Pas très satisfaisant, c'est sûr...
J'ai essayé cette solution mais il s'emble que l'évenement onclick ne se propage pas.
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
YD wrote:
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour
attribut name la valeur 'submit', une collection puisqu'il y en a
plusieurs. Pour accéder aux différents éléments il faut utiliser
frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question.
J'en prend bonne note quand meme.
Je ne sais pas si on peut accéder
directement aux valeurs envoyées par le formulaire, ce qui serait la seule
façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une
variable
avec l'événement onclick sur chaque bouton (genre
onclick="foo=this.value;") et
de lire cette variable dans ta fonction de validation.
Pas très satisfaisant, c'est sûr...
J'ai essayé cette solution mais il s'emble que l'évenement onclick ne se
propage pas.
--
Raphaël
http://www.r-wils.com/perso
« Don't mean a thing if you ain't got that swing ! »
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
Ce qui est normal ;-)
frm.elements['submit'] est une collection des éléments qui ont pour attribut name la valeur 'submit', une collection puisqu'il y en a plusieurs. Pour accéder aux différents éléments il faut utiliser frm.elements['submit'][n].value (n de 0 à 4)
Ce n'est pas une réponse à ta question.
J'en prend bonne note quand meme.
Je ne sais pas si on peut accéder
directement aux valeurs envoyées par le formulaire, ce qui serait la seule façon de savoir quel bouton a été cliqué.
Un contournement simple (mais un peu lourd) serait de positionner une variable avec l'événement onclick sur chaque bouton (genre onclick="foo=this.value;") et de lire cette variable dans ta fonction de validation.
Pas très satisfaisant, c'est sûr...
J'ai essayé cette solution mais il s'emble que l'évenement onclick ne se propage pas.
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
Raphaël Wils
Bul wrote:
bonjour, ou d'envoyer ( ou pas ) le formulaire dans la function valider en remplaçant les <input type=submit par <input type=button ? <script type="text/javascript"> function valider(frm) { alert(frm.value); form1.submit(); // pour envoyer } </script> </HEAD> <BODY> <form name="form1" action="/admin/index.php" method="post" accept="text/plain" enctype="multipart/form-data"> <input type="button" name="submit" value="Enregistrer" onclick="valider(this);"/> <input type="button" name="submit" value="Ouvrir" onclick="valider(this);"/> <input type="button" name="submit" value="Visualiser" onclick="valider(this);"/> <input type="button" name="submit" value="Télécharger" onclick="valider(this);"/> <input type="button" name="submit" value="Supprimer" onclick="valider(this);"/> </form> @+
Le probleme de cette solution c'est que si jamais javascript est désactivé le formulaire ne sera jamais envyé ce que je voudrais éviter pour des raisons d'accessibilité.
Peut être que ceci marcherait ? <input type="submit" name="submit" value="Enregistrer"
onclick="valider(this.value);"/>
et quelque part dans ma fonction valider : document.forms[0].submit ??? -- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
Bul wrote:
bonjour,
ou d'envoyer ( ou pas ) le formulaire
dans la function valider en remplaçant
les <input type=submit par
<input type=button ?
<script type="text/javascript">
function valider(frm)
{ alert(frm.value);
form1.submit(); // pour envoyer
}
</script>
</HEAD>
<BODY>
<form name="form1"
action="/admin/index.php"
method="post"
accept="text/plain"
enctype="multipart/form-data">
<input type="button" name="submit" value="Enregistrer"
onclick="valider(this);"/>
<input type="button" name="submit" value="Ouvrir"
onclick="valider(this);"/>
<input type="button" name="submit" value="Visualiser"
onclick="valider(this);"/>
<input type="button" name="submit" value="Télécharger"
onclick="valider(this);"/>
<input type="button" name="submit" value="Supprimer"
onclick="valider(this);"/>
</form>
@+
Le probleme de cette solution c'est que si jamais javascript est
désactivé le formulaire ne sera jamais envyé
ce que je voudrais éviter pour des raisons d'accessibilité.
Peut être que ceci marcherait ?
<input type="submit" name="submit" value="Enregistrer"
onclick="valider(this.value);"/>
et quelque part dans ma fonction valider :
document.forms[0].submit ???
--
Raphaël
http://www.r-wils.com/perso
« Don't mean a thing if you ain't got that swing ! »
bonjour, ou d'envoyer ( ou pas ) le formulaire dans la function valider en remplaçant les <input type=submit par <input type=button ? <script type="text/javascript"> function valider(frm) { alert(frm.value); form1.submit(); // pour envoyer } </script> </HEAD> <BODY> <form name="form1" action="/admin/index.php" method="post" accept="text/plain" enctype="multipart/form-data"> <input type="button" name="submit" value="Enregistrer" onclick="valider(this);"/> <input type="button" name="submit" value="Ouvrir" onclick="valider(this);"/> <input type="button" name="submit" value="Visualiser" onclick="valider(this);"/> <input type="button" name="submit" value="Télécharger" onclick="valider(this);"/> <input type="button" name="submit" value="Supprimer" onclick="valider(this);"/> </form> @+
Le probleme de cette solution c'est que si jamais javascript est désactivé le formulaire ne sera jamais envyé ce que je voudrais éviter pour des raisons d'accessibilité.
Peut être que ceci marcherait ? <input type="submit" name="submit" value="Enregistrer"
onclick="valider(this.value);"/>
et quelque part dans ma fonction valider : document.forms[0].submit ??? -- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
Bobe
Raphaël Wils nous a dit le 12/08/2004 18:14:
J'essaye de valider un formulaire ayant plusieurs boutons submit.
[snip code]
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
C'est normal, comme il y a plusieurs éléments de même nom, frm.elements['submit'] renvoie une collection (un tableau).
Je vois deux solutions. Si c'est un intranet sous Mozilla ou dérivés, tu peux utiliser l'attribut explicitOriginalTarget (non normalisé) de l'objet d'évènement:
Et dans la fonction valider(): var boutonActive = event.explicitOriginalTarget; // l'objet représentant le bouton ayant été utilisé pour soumettre le formulaire
"la vie d'un geek est un combat perpétuel contre l'imperfection"
Raphaël Wils nous a dit le 12/08/2004 18:14:
J'essaye de valider un formulaire ayant plusieurs boutons submit.
[snip code]
Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
C'est normal, comme il y a plusieurs éléments de même nom,
frm.elements['submit'] renvoie une collection (un tableau).
Je vois deux solutions. Si c'est un intranet sous Mozilla ou dérivés, tu peux
utiliser l'attribut explicitOriginalTarget (non normalisé) de l'objet d'évènement:
Et dans la fonction valider():
var boutonActive = event.explicitOriginalTarget; // l'objet représentant le
bouton ayant été utilisé pour soumettre le formulaire
J'essaye de valider un formulaire ayant plusieurs boutons submit.
[snip code]
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined".
C'est normal, comme il y a plusieurs éléments de même nom, frm.elements['submit'] renvoie une collection (un tableau).
Je vois deux solutions. Si c'est un intranet sous Mozilla ou dérivés, tu peux utiliser l'attribut explicitOriginalTarget (non normalisé) de l'objet d'évènement:
Et dans la fonction valider(): var boutonActive = event.explicitOriginalTarget; // l'objet représentant le bouton ayant été utilisé pour soumettre le formulaire
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined". Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme faire une validation coté client en premier lieu.
Bon la seule solution que j'ai trouvé c'est de mettre dans chaque bouton submit un onclick="valider(this.value)"
Et dans ma fonction valider je met document.forms[0].submit si les conditions adéquates sont remplies
C'est un peu bancal mais ça marche, meme sans javascript...
Pour répondre à Bobe ce n'est pas un intranet, juste un micro cms en wiki pour mon site et celui d'amis... la solution que tu proposes marche bien dans mozilla mais pas dans ie6 (comme d'hab me direz vous).
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
Raphaël Wils wrote:
Bonjour
J'essaye de valider un formulaire ayant plusieurs boutons submit.
Je désire le valider d'abors en javascript, le probleme est que je
n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){
alert(frm.elements['submit'].value);
return true;
}
la boite alert affiche "undefined".
Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme
faire une validation coté client en premier lieu.
Bon la seule solution que j'ai trouvé c'est de mettre dans chaque bouton
submit un onclick="valider(this.value)"
Et dans ma fonction valider je met document.forms[0].submit si les
conditions adéquates sont remplies
C'est un peu bancal mais ça marche, meme sans javascript...
Pour répondre à Bobe ce n'est pas un intranet, juste un micro cms en
wiki pour mon site et celui d'amis... la solution que tu proposes marche
bien dans mozilla mais pas dans ie6 (comme d'hab me direz vous).
--
Raphaël
http://www.r-wils.com/perso
« Don't mean a thing if you ain't got that swing ! »
Je désire le valider d'abors en javascript, le probleme est que je n'arrive pas à détecter quel bouton submit a été utilisé. si j'écris
function valider(frm){ alert(frm.elements['submit'].value); return true; }
la boite alert affiche "undefined". Par contre en php je n'ai pas de probleme. Mais je voudrais quand meme faire une validation coté client en premier lieu.
Bon la seule solution que j'ai trouvé c'est de mettre dans chaque bouton submit un onclick="valider(this.value)"
Et dans ma fonction valider je met document.forms[0].submit si les conditions adéquates sont remplies
C'est un peu bancal mais ça marche, meme sans javascript...
Pour répondre à Bobe ce n'est pas un intranet, juste un micro cms en wiki pour mon site et celui d'amis... la solution que tu proposes marche bien dans mozilla mais pas dans ie6 (comme d'hab me direz vous).
-- Raphaël http://www.r-wils.com/perso « Don't mean a thing if you ain't got that swing ! »
roxroxane
pour régler ton problème, tu te crée une variable hidden pour contenir la valeur de ton bouton et sur chacun de tes boutons avec l'action "onClick" tu change la valeur de ta variable dans un script.
quand tu arrive dans tes validations la valeur de "document.getElementById('submit').value" celle-ci contient la valeur que tu as besoin.
pour régler ton problème, tu te crée une variable hidden pour contenir la valeur de ton bouton et sur chacun de tes boutons avec l'action "onClick" tu change la valeur de ta variable dans un script.
pour régler ton problème, tu te crée une variable hidden pour contenir la valeur de ton bouton et sur chacun de tes boutons avec l'action "onClick" tu change la valeur de ta variable dans un script.