Bonjour,
est-il possible que l'action d'un formulaire html soit du js et de récupérer les variables (en js) ?
Bonjour,
est-il possible que l'action d'un formulaire html soit du js et de récupérer les variables (en js) ?
oui
mais autant passer par le onsubmit ...
Euh... non Spaffy, tu ne peux pas mettre de .js dans le action d'un formulaire !
Parce que si on en croit un de ses précédent post, c'est ça que Laurent essayait de faire...
Bien noté ; j'essaierai (demain) avec le onsubmit.
comment Beef ??
c'est pas du javascript dans l'action ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form action="javascript:(function(){ alert(document.getElementById('foo').value)})()"> <input type="text" id="foo" value="" /> <input type="submit" value="valider" /> </form>
SI mais c'est pas très orthodoxe.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <form onSubmit="document.getElementById('foo').value;return flase;"> <input type="text" id="foo" value="" /> <input type="submit" value="valider" /> </form>
A+JYT
PS: je n'ai toujours pas trouvé de cas ou l'utilisation de javascript:... soit pertinant.
Dans un post précédent, ce que voulait faire Laurent, c'étaitEnvoyé par SpaceFrog
et ça, c'est pas possible !
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form action="fichier.js">
j'ai du rater les épisodes précédents...Parce que si on en croit un de ses précédent post, c'est ça que Laurent essayait de faire...
Bonsoir,
ce que je souhaitais faire marche très bien :sachant que le action_mon_form.js est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form name="mon_form" onSubmit="action_mon_form.js" method="post" enctype="multipart/form-data">Pour l'instant, je n'ai fait que l'étape 1. Mais je suis en train de penser que pour conserver cette information d'étape, il faudrait que le fasse en PHP (variable de session), surtout que le formulaire proposé aura une configuration différente selon le numéro d'étape : est-ce exact ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 switch (form) { case etape = 1 : mon_form.action = "action_mail_pere.php"; mon_form.submit(); etape++; case etape=2 : mon_form.action = "action_mail_mere.php"; mon_form.submit(); etape++; break; case default : alert('pb'); break; }
Je vois mal comment ça pourrait fonctionner...Envoyé par laurentSc
onsubmit attend du code JavaScript, pas une URL...
j'avoue que je ne te suis pas : onSubmit reçoit bien du js ("mon_action_form.js") et d'ailleurs, la fonction PHP "action_mail_pere.php" est bien lancée puisqu'elle est censée envoyer un mail et que je le reçois, mais cela dit, je pense passer à une action en PHP pour être capable de mémoriser la variable "etape".onsubmit attend du code JavaScript, pas une URL...
j'avoue que moi aussi je ne comprend pas.
la syntaxeest equivalente à
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <form id="myForm" name="mon_form" onSubmit="action_mon_form.js" method="post" enctype="multipart/form-data">
Je ne vois absolument pas comment une telle fonction peut faire quoi que ce soit. car même si action_mon_form était un objet avec un membre js la fonction n'a aucune instruction à exécuter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 document.getElementById("myFrom") .onsubmit = function(event) { action_mon_form.js }
si tu ouvre la console javascript et que tu tapetu vas voir comme résultat le code de ta méthode onsubmit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 document.getElementById("myFrom") .onsubmitet ce que je poste là est un copié colé depuis le débuggeur de chrome
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 > document.getElementById('myForm').onsubmit function onsubmit(event) { action_mon_form.js }
réalisé en direct sur cette page même.
A+JYT
Ca serait intéressant de comprendre pour la culture mais de toute façon, je compte changer de langage...
Laurent,
le mieux, quand tu postes, serait d'EXPLIQUER l'OBJECTIF/le BUT de la manoeuvre.
On pourrait alors PLUS FACILEMENT T'ORIENTER vers une SOLUTION adaptée/optimisée.
Et ça éviterait à plusieurs personnes de perdre leur temps en conjectures...
Je te rappelle que nous sommes tous bénévoles sur DVP.
Et nous prenons tous de notre temps pour répondre...
A priori ici, on se demande POURQUOI tu veux passer par JavaScript.
En PHP, avec une session :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php if ($_SESSION['etape']==1) { ?> <form name="mon_form" action="action_mail_pere.php" method="post" enctype="multipart/form-data"> <?php } elseif ($_SESSION['etape']==2) { ?> <form name="mon_form" action="action_mail_mere.php" method="post" enctype="multipart/form-data"> <?php }?>
je ne vois qu'un seul cas dans lequel <form action="script.js">... peut fonctionner c'est le cas ou le serveur supporte javascript
mais dans ce cas là le scritp s'exécute sur le sereur et n'a donc accès qu'au valeurs transmises comme on a dans un script php
A+JYT
Oui, tu as tout-à-fait raison ; je fais aussi du bénévolat (pour un autre forum sur lequel je passe pour un pro, alors que ce n'est pas le cas (il y a 6 ans que j'ai découvert le web)) et je suis justement en train de le faire (et d'ailleurs, le but de ce post, c'était pour ça aussi, car j'ai beau être un "pro", je dois quand souvent demander conseil sur SVP).le mieux, quand tu postes, serait d'EXPLIQUER l'OBJECTIF/le BUT de la manoeuvre.
On pourrait alors PLUS FACILEMENT T'ORIENTER vers une SOLUTION adaptée/optimisée.
Et ça éviterait à plusieurs personnes de perdre leur temps en conjectures...
Je te rappelle que nous sommes tous bénévoles sur DVP.
Et nous prenons tous de notre temps pour répondre...
Et ce que tu proposes en PHP, c'est exactement l'idée que je m'étais faite (y compris le recours à une variable de session). L'idée d'utilisation du javascript, je ne saurais pas non plus l'expliquer...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager