Probleme formulaire Type image
Le
Xavier
Bonjour
Désolé si ça n'est pas le bon forum, et si tel est le cas, merci de
m'indiquer où chercher
Bon. Voilà mon problème. Si quelqu'un pouvait m'enlever cette épine du pied,
je le remercie par avance.
J'ai un formulaire qui permet (en principe) de chercher des livres dans une
base de données.
Parmi les critères de choix, on peut indiquer l'auteur, et l'éditeur.
Bon, mais comme je vais avoir des millions d'auteurs et d'éditeurs, plutôt
que de les rentrer dans un menu déroulant, j'aimerais mettre des pictos du
genre "sélectionner un éditeur", "sélectionner un auteur". Ensuite, on va
chercher un éditeur, ou un auteur, sur d'autres pages, et quand le choix est
effectué, on est rebasculé sur la page de recherche des livres.
3 solutions :
1) Faire des liens tout bêtes derrière ces liens.
Problème : les données déjà rentrées dans le formulaire (ex : le titre, la
date, etc.) seront perdues quand l'internaute reviendra sur la page de
recherche des livres.
2) Faire des INPUT TYPE=submit
<INPUT TYPE=submit value='Editeur' name='Redirection'>
<INPUT TYPE=submit value='Auteur' name='Redirection'>
Et pour le bonton permettant d'afficher le résultat
<INPUT TYPE=submit value='AfficheResultat' name='Redirection'>
Ensuite, on récupère la valeur de $_POST["'Redirection"], et on est aiguillé
là où il faut.
Problème, les boutons 'submit', c'est moche
3) Faire des INPUT TYPE=image
<INPUT TYPE=image value='Editeur' name='Redirection'>
etc.
Problème, ça ne marche pas.
Sur la page suivante, un truc du genre :
if ($_POST["'Redirection"]=='Auteur')
{
"Garde en mémoire les données du formulaire et
Va sur la page de recherche des auteurs" (écrit en vraies instructions
bien sûr)
}
ne marche pas. Je n'arrive pas à récupérer le nom, ou la valeur d'un
input type image.
Quelqu'un aurait-il une solution pour utiliser des 'type image'?
Merci
Désolé si ça n'est pas le bon forum, et si tel est le cas, merci de
m'indiquer où chercher
Bon. Voilà mon problème. Si quelqu'un pouvait m'enlever cette épine du pied,
je le remercie par avance.
J'ai un formulaire qui permet (en principe) de chercher des livres dans une
base de données.
Parmi les critères de choix, on peut indiquer l'auteur, et l'éditeur.
Bon, mais comme je vais avoir des millions d'auteurs et d'éditeurs, plutôt
que de les rentrer dans un menu déroulant, j'aimerais mettre des pictos du
genre "sélectionner un éditeur", "sélectionner un auteur". Ensuite, on va
chercher un éditeur, ou un auteur, sur d'autres pages, et quand le choix est
effectué, on est rebasculé sur la page de recherche des livres.
3 solutions :
1) Faire des liens tout bêtes derrière ces liens.
Problème : les données déjà rentrées dans le formulaire (ex : le titre, la
date, etc.) seront perdues quand l'internaute reviendra sur la page de
recherche des livres.
2) Faire des INPUT TYPE=submit
<INPUT TYPE=submit value='Editeur' name='Redirection'>
<INPUT TYPE=submit value='Auteur' name='Redirection'>
Et pour le bonton permettant d'afficher le résultat
<INPUT TYPE=submit value='AfficheResultat' name='Redirection'>
Ensuite, on récupère la valeur de $_POST["'Redirection"], et on est aiguillé
là où il faut.
Problème, les boutons 'submit', c'est moche
3) Faire des INPUT TYPE=image
<INPUT TYPE=image value='Editeur' name='Redirection'>
etc.
Problème, ça ne marche pas.
Sur la page suivante, un truc du genre :
if ($_POST["'Redirection"]=='Auteur')
{
"Garde en mémoire les données du formulaire et
Va sur la page de recherche des auteurs" (écrit en vraies instructions
bien sûr)
}
ne marche pas. Je n'arrive pas à récupérer le nom, ou la valeur d'un
input type image.
Quelqu'un aurait-il une solution pour utiliser des 'type image'?
Merci

Poser une question


Normalement tu peux utliser des <input type="image"> de la même
maniere qu'un <input type="submit"> en faisant par exemple <input
type="image" onclick="javascript: this.form.submit();"> (this.form
pas testé, à voir si c'est pas document.form ou je ne sais trop quoi)
Regarde du coté de javascript fonction openwindow et puis aussi
window.opener (qui est la fenetre qui à fait le openwindow) pour
remplir le champ auteur avec le retour de ta recherche d'auteur dans
cette fenetre popup...
Christophe
Quel est l'intérêt d'avoir alors des boutons image s'ils ont le même
effet qu'un bête submit ?
Tu es au courant que les popups furent immolées en place publique ? ;)
Bon, je vais répondre à Xavier...
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Xavier a écrit :
Ça dépend de quoi on parle, mais c'est vrai que
Ce que je ferais, c'est implémenter une arborescence.
L'information ne sera pas nécessairement perdue. Ça dépend comment tu
gères la donnée saisie. Vu que ce sera une recherche, le mieux sera de
toute façon de faite un formulaire utilisant la méthode get. Il suffira
de faire en sorte que les liens de sélection soient du genre :
?q=Albert%20Dupon&realisateur=Albert%20Dupontel
Mais je ne vois pas l'intérêt de conserver la requête dans ce cas...
Mais non, c'est pas moche. On peut même leur appliquer des styles si
vraiment le style par défaut ne te plaît pas :) Le bon forum pour ça est
Au fait, dans ton exemple tu as une apostrophe malheureuse qui traîne.
Je pense que tu fais face à un bogue de MSIE. En effet, la valeur d'un
input[@type='image'] n'est pas transmise au serveur par le navigateur.
Il faut contourner. La seule solution pour contourner ce bogue est
d'utiliser un javascript qui créerait un champs input[@type='hidden'],
avec le même nom que le bouton image.
Par exemple :
<script type='text/javascript>
function input_image_click()
{
var e = this.form.createElement("input") ;
e.name = this.name ;
e.value = this.value ;
e.type = 'hidden' ;
this.form.appendChild(e) ;
}
</script>
<input type='image'
onclick='input_image_click() ; return true ;'
value='Albert Dupontel'
src='albert-dupontel.jpeg'
alt='Albert Dupontel' />
</form>
Pas testé, je n'ai pas de MSIE sous la main. Mais bon, c'est du
Javascript en plus, et on est pas sur le bon forum pour en parler :-D En
tout cas, ce n'est pas un problème de PHP. C'est un problème de
découpage de ton application, et de contournement de bogue :)
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Merci pour la réponse. J'avais vu sur la toile des trucs à base de
'onclick', mais sauf erreur de ma part, le formulaire est envoyé, sans qu'on
sache sur quelle image on a cliqué, alors qu'avec des bontons 'submit', on
peut récupérer le nom ou la valeur du bouton.
De plus, j'aimerais éviter le JS, à cause de tous les internautes qui le
désactivent.
Merci quand même. je ne vais pas pouvoir travailler là-dessus avant une
bonne quinzaine de jours, mais tout conseil sera le bienvenu quand je
remettrai les mains dans le cambouis.
A+
Xavier
Le look du bouton...
Mais j'ai une autre question: A quoi servent les bouton type image ?
Personnellement je les utilise jamais, je fais juste des <img
onclick="...">.
Ah non, je savais pour les frame mais pas pour les popups. Ceci dit ça
ne m'étonne pas :)
Je parlais de cette solution parce que Xavier me semblait vouloir
s'orienter vers ça mais je fais tout pour l'éviter en faisant
apparaitre des parties de ma page en display:none ou en utilisant
Ajax.
Christophe