> Tous les forumsForum des Webmasters

 Bouton-image dans un formulaire HTML [resolu]
Statut du sujet : NON RESOLU Imprimer
 Panoramiks
  Posté le 14/09/2004 @ 16:00  
 Petit astucien

40 Messages
Sur une page web je voudrais mettre une serie de vignettes a cliquer pour passer des variables a un script PHP. Chaque vignette represente une image differante et doit envoyer au clic une valeur particuliere de la variable $var parmi d'autres variables entrees dans la meme <FORM>. Je pourrais utiliser : <INPUT name="var" type="image" src="source_de_l'image" [etc.]> mais ca passe au script les coordonees du clic au lieu du contenu du champ "value". On peut recuperer $var avec du code PHP aproprier mais c'est acrobatique. La doc W3C dit qu'une balise <BUTTON> de type "submit" se comporte comme un <INPUT> de type "submit" quand elle est activer. J'ai essaye: <BUTTON name="var" type="submit" value="ce_qu'il_faut"><img [source, taille, legende]></BUTTON> Ca produit la vignette qu'il faut mais quand on clique dessus il ne se passe rien. Comment fait'on pour "activer" ce bouton ? Je voudrais le rendre cliquable. Je veux que ce soit compatible tous navigateurs, donc pas de javascript ou autre.
 Afficher le profil de PanoramiksEnvoyer un message privé à Panoramiks
 
 
Publicité
 jpf91  Posté le 14/09/2004 à 16:02  
  Maître astucien

10770 Messages
Pour suivre
Afficher le profil de jpf91 Voir la configuration de jpf91Envoyer un message privé à jpf91
 Revenir en haut de la page
 RPG3000  Posté le 14/09/2004 à 20:56  
Petit astucien

196 Messages
<form action="page.php" method="post" name="Vigne" id="Vigne"> <p>Input: <input name="entree" type="text" id="entree"> <input type="submit" name="Submit" value="Envoyer"> </p> <?php if (isset ($_POST['entree'])) { echo ("$_POST['entree']") } ?> si c ça ke tu cherche. Il faut ke ta page s'appel page.php et jpftruc, t un peut lourd avec t "pour suivre..."s
Afficher le profil de RPG3000Envoyer un message privé à RPG3000
 Revenir en haut de la page
 Panoramiks  Posté le 15/09/2004 à 09:20  
Petit astucien

40 Messages
Merci RPG3000 mais ca ne repond pas a ma question. Ton code va faire un bouton gris avec "Envoyer" marquer dessus. Si on clique sur le bouton ca va passer au script la variable $Submit avec pour valeur la chaine de caractere "Envoyer". Ca va passer aussi la variable $entree avec pour valeur la chaine de caracteres tapee par le visiteur dans une fenetre. Je sais faire ce genre de choses depuis longtemps. Ce que je veux c'est que le bouton a cliquer soit une image et qu'il soumette le formulaire. On peu le faire avec : <INPUT type="image" etc.> Mais ca passe comme donnees l'endroit ( x, y ) ou on a cliquer sur l'image alors que je voudrais que ca passe une "value". La doc dit qu'on peu aussi le faire avec : <BUTTON name="var" type="submit" value="une_valeur"><img src="URL_d'image" height="sa_hauteur" width="sa_largeur" alt="un_texte"></BUTTON> Ca doit passer $var avec pour valeur ce qu'il y a dans "value". Mais quand on clique sur le bouton-image il ne se passe rien. Comment faire pour que ca marche ? En fait je voudrais plusieurs boutons comme ceci : <BUTTON name="var" type="submit" value="valeur_1"><image_1></BUTTON> <BUTTON name="var" type="submit" value="valeur_2"><image_2></BUTTON> Ca doit passer la variable $var avec une valeur qui depend de l'image sur laquelle on clique

Modifié par Panoramiks le 15/09/2004 10:06
Afficher le profil de PanoramiksEnvoyer un message privé à Panoramiks
 Revenir en haut de la page
 RPG3000  Posté le 15/09/2004 à 13:36  
Petit astucien

196 Messages
aaaaaaaaaaa ça change tout! Il te fo un cod javascript: HREF="javascript:document.nomduformulaire.submit()">Valider</A> Ca te donne un lien. Affecte ce lien à une image. Exemple: HREF="javascript:document.nomduformulaire.submit()"><img src="http://membres.lycos.fr/rpg3000/rpg3k_banner1.gif" width="468" height="60"></A> @++

Modifié par RPG3000 le 15/09/2004 13:39
Afficher le profil de RPG3000Envoyer un message privé à RPG3000
 Revenir en haut de la page
 Panoramiks  Posté le 15/09/2004 à 14:29  
Petit astucien

40 Messages
Re-merci Mais une condition est pas de javascript pour que ce soit compatible tous navigateurs. Sinon j'aurais fait un bouton de type "push" avec un "event" qui lance le script au clic.
Afficher le profil de PanoramiksEnvoyer un message privé à Panoramiks
 Revenir en haut de la page
 RPG3000  Posté le 15/09/2004 à 14:56  
Petit astucien

196 Messages
je c bien mais je vois pas dotr moyen, désolé. Si INPUT ne fonctionne pas, aucune autre soluce me passe par la tête. Si t'as aucune réponse convenable, essaye sur le forum de siteduzero.com @++
Afficher le profil de RPG3000Envoyer un message privé à RPG3000
 Revenir en haut de la page
 Panoramiks  Posté le 15/09/2004 à 16:15  
Petit astucien

40 Messages
Merci quand meme encore. Peut-etre que quelqun d'autre ici saura. Mais le niveau des questions et reponses ne semble pas tres elever. Tu donnes une piste vers un autre forum. Il y en a sans doute plusieurs. Mais souvent il faut s'inscrire comme membre et je ne me vois pas le faire partout.
Afficher le profil de PanoramiksEnvoyer un message privé à Panoramiks
 Revenir en haut de la page
 RPG3000  Posté le 15/09/2004 à 16:31  
Petit astucien

196 Messages
ouais mais siteduzero est fait pour. Et y'a un tutorial HTML dessus, regarde si tu trouve bonheur...
Afficher le profil de RPG3000Envoyer un message privé à RPG3000
 Revenir en haut de la page
 cops122  Posté le 16/09/2004 à 00:00  
Petit astucien

769 Messages
j'ai retrouvé sa dans mes fonds de tiroir si sa peut aider!!!
<input type="button" onClick="window.location='machin (détails).htm';" value="détails" /> <input type="button" onClick="window.location='mailto:machin@fai.com';" value="contact" /> <input type="button" onClick="window.location='machin (accueil).htm';" value="accueil" /> En général si tu te sers de boutons en dehors d'un formulaire, n'utilises pas la balise <form>, qui ne sert qu'a récupérer le contenu du formulaire.


Modifié par cops122 le 16/09/2004 00:03
Afficher le profil de cops122 Voir la configuration de cops122Envoyer un message privé à cops122
 Revenir en haut de la page
 Panoramiks  Posté le 17/09/2004 à 12:43  
Petit astucien

40 Messages
J'ai trouver avec un petit coup de main ailleurs mais je croyais les astuciens plus experts. Ca ne fait rien je vais donner la solution au cas ou d'autres aient le meme probleme. LE PROBLEME Dans un formulaire cree par la balise <FORM> .../... </FORM> il faut mettre des bouton-images a cliquer qui passent une variable $var avec une valeur qui depend de l'image sur laquelle on clique. Je pensais pouvoir le faire avec : <BUTTON name="var" type="submit" value="valeur1"><image1></BUTTON> <BUTTON name="var" type="submit" value="valeur2"><image2></BUTTON> etc. Cela doit se faire sans script cote client pour etre compatible tous navigateurs. Mais il ne semble pas possible d'activer ces boutons dans ces conditions. LA SOLUTION Elle utilise <INPUT type="image"> a la place de <button> La difficulté est que ca ne passe pas valeur1 ou valeur2 pour une variable $var, mais l'endroit ( x, y ) ou on clique sur l'image. Avec : <INPUT name="var" type="image" value="une_valeur" src="source_de_l'image" [etc.]> On aura les variables $var_x et $var_y et "une_valeur" ne sera pas prise en compte. On n'aura pas non plus $var tout court. L'astuce consiste a detourner la fonction de name pour passer la valeur et a recuperer $var par du code PHP. On met : <INPUT name="valeur1" type="image" src="URL_image1" [etc.]> <INPUT name="valeur2" type="image" src="URL_image2" [etc.]> etc. Avec <FORM action ="une_page_php" method="get"> on aura un tableau $_GET avec les differentes variables et valeurs passees a la page PHP. Dans chaque ligne du tableau il y a un nom de variable ( key ) et sa valeur ( value ). Si on a cliquer sur l'image 1 il y a quelque part dans le tableau une "key" qui s'appelle valeur1_x et si on a cliquer sur l'image 2 il y a une key qui s'appelle valeur2_x. La valeur est une distance par rapport au bord de l'image et on s'en moque. Il faut recuperer "valeur1" ou "valeur2" comme valeur de $var en reperant "_x". Voici avec ses commentaires le code PHP qui fait ca : reset($_GET); # positionner le tableau $_GET a la ligne 0 foreach ($_GET as $key => $value) { # extraire la cle et la valeur de chaque ligne if (ereg("_x",$key)) { # si la cle contient "_x" $var=substr($key,0,-2); # couper les deux derniers caracteres (_x), le reste est la valeur de $var } } LES CONDITIONS Pour que ca marche il faut que "_x" apparaisse une seule fois dans le tableau. Donc : Un seul jeu de boutons-image a cliquer. Pas d'entree contenant "_x" dans un <INPUT type="text"> ou dans un <TEXTAREA> ... </TEXTAREA>

Modifié par Panoramiks le 17/09/2004 16:10
Afficher le profil de PanoramiksEnvoyer un message privé à Panoramiks
 Revenir en haut de la page
 zevlad  Posté le 11/10/2004 à 19:58  
Petit astucien

1 Message
Autre solution, très simple: faire croire au navigateur que tu lui envoie un GET en ajoutant tes valeurs après un ? après l'url ou tu veux renvoyer les données : <A HREF="/accueil.html?valeur1=1"> <img src="images/icone3.gif" width="15" height="15"></A> Bien sûr si tu code tu peux cfaire générer une valeur différente pour chaque bouton-image. Inconvénient: on voit les paramètres dans la barre de nav. Pour le gui sur les chênes, c possible mais c rare : Le gui croît sur un grand nombre d'arbres et spécialement sur le pommier, le poirier, l'amandier, le hêtre, le noyer, le frêne, l'orme, le tilleul, etc.; mais ce qui est remarquable, c'est qu'on ne le trouve que rarement sur le chêne, ce qui peut paraître extraordinaire à cause de son nom. Cette rareté est peut-être cause que le gui de chêne était en si grande vénération, et que l'on attribuait sans doute à cette espèce une propriété extraordinaire et mystérieuse.
Afficher le profil de zevladEnvoyer un message privé à zevlad
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte




Les sujets pertinents liés
petit soucis avec liens [resolu]
aide pour un formulaire de contact
Mettre des données d'une liste déroulante........
upload d'images: chargement des images non effectu
Forumlaire et bouton
Erreur mySQL pour l'ouverture de session
Formulaire qui ne fonctionne pas sous FF et...
Margin-left:auto Margin-right:auto ... mais...
pb avec formulaire d'authentification
Aide aux débutants, erreurs dans les sites web
html pour débutant
Changement de page avec un bouton (Résolu)
je vous propose des generateurs ça peut aider!
envoie formulaire dreamweaver
souci pour ma pages commentaires
un petit souci pour faire un spoiler où un secret
[projet] site ,conseil et probleme
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page