Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1350 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Envoyer la valeur du submit lors de la validation d'un formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoyer la valeur du submit lors de la validation d'un formulaire

n°859658
El_gringo
Posté le 29-09-2004 à 09:32:51  profilanswer
 

J'explique :
je voudrais qu'on puisse valider mon formulaire en cliquant sur un suubmit engendrant ceci :
lors de la validation, un paramètre HTTP est envoyé. Son nom est la valeur de l'attribut "name" du "button" ayant submité (type="submit" ), et sa valeur est la valeur de l'attribut ... "valeur".
Petit exemple, si ça peut aider certain à comprendre :


<button type="submit" name="MonNom" id="MonNom" value="MaValeur">
   <p>Schtroumph !</p>
</button>


Sous firefox, c'est parfait. A la validation du formulaire, je reçois bien un paramètre "MonNom=MaValeur".
Sous IE, gross merde, à la validation du formulaire, je reçois cette merde : "MonNom=<p>Schtroumph !</p>" (qui est la partie affichée du bouton). Une combine pour contourner cette saleté de verrue ?


Message édité par El_gringo le 29-09-2004 à 09:39:07
mood
Publicité
Posté le 29-09-2004 à 09:32:51  profilanswer
 

n°859664
Profil sup​primé
Posté le 29-09-2004 à 09:40:01  answer
 

button? :heink:

Code :
  1. <form .....>
  2. <input type="submit" name="myName" value="myValue" />
  3. </form>


 

n°859675
El_gringo
Posté le 29-09-2004 à 09:44:33  profilanswer
 

chacal_one333 a écrit :

button? :heink:

Code :
  1. <form .....>
  2. <input type="submit" name="myName" value="myValue" />
  3. </form>




 
Ben, le problème c'est que "myValue" va être affiché entant que libellé de bouton. Alors que justement, j'essaye de faire le distingo entre "libellé du bouton", et "valeur du bouton".
 
EDIT : je pensais qu'utiliser "button" plutôt que "input" me permettrait ça. c'est le cas avec firefox. Pas avec IE apparement !


Message édité par El_gringo le 29-09-2004 à 09:47:48
n°860138
El_gringo
Posté le 29-09-2004 à 15:57:20  profilanswer
 

Je me permet un petit up...

n°860165
lorrhyde
Posté le 29-09-2004 à 16:10:22  profilanswer
 

j'ai peut etre pas bien comprit ton probleme , mais pour passer des paramêtre, des variables ou d'autres choses via un formulaire, il y a le cham type="hidden"

n°860202
El_gringo
Posté le 29-09-2004 à 16:36:14  profilanswer
 

lol. Merci, je sais ça !
En effet, tu as pas bien compris : je voudrait que le paramètre envoyé (ainsi que sa valeur) dépendent du bouton activé pour envoyer le formulaire.

n°860779
El_gringo
Posté le 30-09-2004 à 10:55:16  profilanswer
 

Au fait, ça à pas l'air d'interresser grand monde, mais je m'en suis sorti, en ajoutant un onclick="this.value='MaValeur'". ça ne gêne pas firefox, et règle le pb avec IE.

n°860813
Hermes le ​Messager
Breton Quiétiste
Posté le 30-09-2004 à 11:22:14  profilanswer
 

El_gringo a écrit :

Au fait, ça à pas l'air d'interresser grand monde, mais je m'en suis sorti, en ajoutant un onclick="this.value='MaValeur'". ça ne gêne pas firefox, et règle le pb avec IE.


 
Ouai, ben je trouve que la solution est pire que le mal moi (si mal il y a d'ailleurs...)


---------------
Expert en expertises
n°860820
El_gringo
Posté le 30-09-2004 à 11:32:08  profilanswer
 

Quel mal y a t'il a cette solution au juste ?
Evidement qu'il y a un mal : le comportement d'IE est différent de celui de firefox, et IE envois comme valeur les données de présentation du bouton. Si ça c'est pas un mal, je sais pas ce qu'il te faut !

n°860824
Hermes le ​Messager
Breton Quiétiste
Posté le 30-09-2004 à 11:35:42  profilanswer
 

El_gringo a écrit :

Quel mal y a t'il a cette solution au juste ?
Evidement qu'il y a un mal : le comportement d'IE est différent de celui de firefox, et IE envois comme valeur les données de présentation du bouton. Si ça c'est pas un mal, je sais pas ce qu'il te faut !


 
On utilise pas de JS pour envoyer des valeurs, c'est une rêgle élémentaire... Evidemment, certains le font, mais il suffit qu'il y ai un binzz avec JS pour que tout soit par terre.
 
Ensuite, un bouton n'est pas prévu pour envoyer une valeur autre que le contenu du bouton justement. Un bouton, c'est un bouton. Si tu veux passer d'autres trucs sans que personne ne le voit, tu utilises un champ hidden, je ne vois vraiment pas ce qui pourrait justifier ton truc...


---------------
Expert en expertises
mood
Publicité
Posté le 30-09-2004 à 11:35:42  profilanswer
 

n°860842
El_gringo
Posté le 30-09-2004 à 11:47:12  profilanswer
 

Hermes le Messager a écrit :

On utilise pas de JS pour envoyer des valeurs, c'est une rêgle élémentaire... Evidemment, certains le font, mais il suffit qu'il y ai un binzz avec JS pour que tout soit par terre.


 
Bien sur, t'as raison. C'est une fonctionnalité de mon produit (un interpréteur de scripts permettant d'écrire simplement des applications client/serveur HTTP). Je spécifierai que la fonctionnalité n'est possible qu'a condition que le Javascript soit interprété par le navigateur.
 

Hermes le Messager a écrit :


Ensuite, un bouton n'est pas prévu pour envoyer une valeur autre que le contenu du bouton justement. Un bouton, c'est un bouton. Si tu veux passer d'autres trucs sans que personne ne le voit, tu utilises un champ hidden, je ne vois vraiment pas ce qui pourrait justifier ton truc...


 
C'est pourtant simple. Imagine le code suivant :


<button type="submit" name="btn1" id="btn1" value="MaValeur 1">
   <p>tralala la</p>
</button>  
<button type="submit" name="btn2" id="btn2" value="MaValeur 2">
   <p>Schtroumph !</p>
</button>


 
Je veux que soit envoyé la valeur btn1=MaValeur 1 si le formulaire est validé par le bouton "tralala la", et envoyer la valeur btn2=MaValeur 2 si le formulaire est validé par le bouton "Schtroumph !".
tu ferais ça comment avec des champs cachés (et sans javascript) au juste ?
 
EDIT : l'intéret de "button", c'est justement de faire le distingo entre la "valeur" du bouton, et le "libellé" du bouton


Message édité par El_gringo le 30-09-2004 à 12:03:29
n°860863
Hermes le ​Messager
Breton Quiétiste
Posté le 30-09-2004 à 12:03:07  profilanswer
 

Ben :  
 
<input type="hidden" name="hidden1" value="MaValeur 1"/>
<input type="hidden" name="hidden2" value="MaValeur 2"/>
 
ensuite :
 
<button type="submit" name="btn1" value="ok" />
 
<button type="submit" name="btn1" value="pas ok" />
 
Quand tu récupères côté serveur tes valeurs, tu testes la valeur des boutons, et :
 
si btn1 == ok alors valeur = hidden1 autrement : valeur = hidden2
 
[:spamafote]


---------------
Expert en expertises
n°860895
El_gringo
Posté le 30-09-2004 à 12:31:29  profilanswer
 

Non non, ça c'est pas possible. En fait, comme expliquer. Je ne sais pas à l'avance combien de bouton j'aurais, ni leur libellé, ni leur nom. Tout ça est dynamique (géré par un script qu'écrit un administrateur). Du coup, pour savoir quelle valeur de "button" correspond à quel champ "hidden", dur dur. A la limite, je pourrais nommer les champs "hidden" (balises "name" et "id" ) par la "valeur" du "button" lui correspondant, mais non, car la valeur pourra contenir des caractères spéciaux (et pas un name ou un id).
Je sais pas trop si j'arrive à me faier comprendre.
 
EDIT : le fait est que je n'trouve pas logique avec IE d'être forcé d'utiliser la même valeur pour des traitements côté serveur et pour la présentation à l'utilisateur (attribut "value" de ton boutton).
Comme dans une listbox par exemple, tu vois, on peut fixer une valeur à afficher (entre les balises "option" ) et une valeur à envoyer (attribut "value" ), ça c'est logique. Et firefox fait exactement la même chose avec "button". PAs IE, dommage !


Message édité par El_gringo le 30-09-2004 à 12:34:04
n°860902
Hermes le ​Messager
Breton Quiétiste
Posté le 30-09-2004 à 12:38:35  profilanswer
 

El_gringo a écrit :

Non non, ça c'est pas possible. En fait, comme expliquer. Je ne sais pas à l'avance combien de bouton j'aurais, ni leur libellé, ni leur nom. Tout ça est dynamique (géré par un script qu'écrit un administrateur). Du coup, pour savoir quelle valeur de "button" correspond à quel champ "hidden", dur dur. A la limite, je pourrais nommer les champs "hidden" (balises "name" et "id" ) par la "valeur" du "button" lui correspondant, mais non, car la valeur pourra contenir des caractères spéciaux (et pas un name ou un id).
Je sais pas trop si j'arrive à me faier comprendre.
 
EDIT : le fait est que je n'trouve pas logique avec IE d'être forcé d'utiliser la même valeur pour des traitements côté serveur et pour la présentation à l'utilisateur (attribut "value" de ton boutton).
Comme dans une listbox par exemple, tu vois, on peut fixer une valeur à afficher (entre les balises "option" ) et une valeur à envoyer (attribut "value" ), ça c'est logique. Et firefox fait exactement la même chose avec "button". PAs IE, dommage !


 
Pour une fois, IE est plus logique, car un bouton est un déclencheur, il n'a pas vocation à transmettre un contenu autre que son état. [:spamafote]
 
Il est en tous cas, parfaitement possible de faire ce que tu veux ;) Les caractères spéciaux sont aisément contournable avec par exemple base64_encode et decode ;)


---------------
Expert en expertises
n°860980
El_gringo
Posté le 30-09-2004 à 14:11:03  profilanswer
 

Hermes le Messager a écrit :

Pour une fois, IE est plus logique, car un bouton est un déclencheur, il n'a pas vocation à transmettre un contenu autre que son état. [:spamafote]


 
Il n'est pas plus logique du tout, puisqu'il envoit quand même une valeur. Quitte à envoyer une valeur, pourquoi envoyer le libellé du bouton, qui contient généralement des balises HTML, etc...
 

Hermes le Messager a écrit :


Il est en tous cas, parfaitement possible de faire ce que tu veux ;) Les caractères spéciaux sont aisément contournable avec par exemple base64_encode et decode ;)


 
Moi pas connaitre. C'est du PHP, c'est ça ?
J'suis en Java, mais j'imagine que tu parles d'encoder et décoder les caractères en "base64". Pourquoi pas, mais ça me parait bien compliqué tout ça, pour le petit truc tout bête que j'voulais faire.


Message édité par El_gringo le 30-09-2004 à 14:12:54
n°863991
Lorr Hyde
L'univers est trop grand Zut !
Posté le 04-10-2004 à 11:48:47  profilanswer
 

El_gringo a écrit :

Non non, ça c'est pas possible. En fait, comme expliquer. Je ne sais pas à l'avance combien de bouton j'aurais, ni leur libellé, ni leur nom.


 
Alors si ton administrateur génère un truc , tu lui demande de générer les <input type'hidden'> correspondant ...
 
c'est pas très compliquer. :p

n°864082
El_gringo
Posté le 04-10-2004 à 13:07:17  profilanswer
 

Mais non, c'est pas ça. c'est pas un site web que je fais, c'est un soft, qui utilise l'html, http, tout ça. Bref, c'est un appli web. Mais si j'explique tout, là, ça va être trop compliqué, laisse tomber. Désolé, et merci qd même de t'être interressé à mon pb.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Envoyer la valeur du submit lors de la validation d'un formulaire

 

Sujets relatifs
Comment faire apparaitre en crypté un edit lorsqu on rentre la valeurattribution valeur d'une variable fonction de la resolution ecran
accéder à une valeur dans un tableauPeut on copié une unité et formulaire sous un autre nom
saisie d'une valeur numeriqueComment passer un tableau à travers un formulaire?
Sécurisation formulaireformulaire affichant les données d'une base
j'ai un souci de réception du formulaire[REGEXP]Mettre en valeur des mots dans du HTML
Plus de sujets relatifs à : Envoyer la valeur du submit lors de la validation d'un formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR