Page 1 sur 1

Formulaire et bouton image

Posté : 06 mars 2009, 20:11
par stefane321
Bonjour,

Dans mon formulaire j'ai changé mon
<INPUT TYPE="submit" NAME="go_liste">
Pour un bouton image
<INPUT TYPE="image" NAME="go_liste" SRC="images/newsletter-bt.jpg">
Là mon problème est que dans mon traitement de mes variables sa ne fonctionne plus .

Je commence par la vérification que le bouton envoyé a été cliqué:
if(isset($_POST["go_liste"]))
{
Bien sa ne fonctionne pas.

pouvez-vous m'aider svp?

Posté : 06 mars 2009, 20:20
par AB
Tu peux toujours mettre ton image en background

Code : Tout sélectionner

<INPUT TYPE="submit" NAME="go_liste" style="background:images/newsletter-bt.jpg" />

Posté : 06 mars 2009, 23:20
par Ryle
C'est normal, un input de type image n'est sensé envoyer que les coordonnées de la zone cliquée.. en gros, tu ne dois pas avoir de $_POST["go_liste"] (encore que firefox doit le gérer quand même alors qu'il ne devrait pas...) mais avoir des $_POST["go_liste_x"] et $_POST["go_liste_y"] ou un truc du genre (un print_r() de $_POST te le diras :))

Pour un comportement normal, tu peux opter pour la solution d'AB ou pour la balise <button> qui te permet de coller du html et donc une image à l'intérieur :)

Code : Tout sélectionner

<button type="submit" style="cursor:hand;"> <img src="mon_image.png" alt="soumettre" /> </button>

Posté : 07 mars 2009, 00:15
par Aureusms
Tu peux toujours mettre ton image en background

Code : Tout sélectionner

<INPUT TYPE="submit" NAME="go_liste" style="background:images/newsletter-bt.jpg" />
Tu peux aussi ajouter une transparence sur les border pour un meilleur résultat :

Code : Tout sélectionner

<INPUT TYPE="submit" NAME="go_liste" style="background:images/newsletter-bt.jpg; border : 1px solid transparent;" />

Posté : 07 mars 2009, 02:49
par rolusseum
De mon côté, je fais
if(!empty($_POST['go_liste'])|| !empty($_POST['go_liste_x'])){

  //Ici, recuperation des variable du formulaire
}

Posté : 08 mars 2009, 18:20
par AB
Tu peux aussi ajouter une transparence sur les border pour un meilleur résultat :

Code : Tout sélectionner

<INPUT TYPE="submit" NAME="go_liste" style="background:images/newsletter-bt.jpg; border : 1px solid transparent;" />
Oui mais cela ne fonctionne pas avec IE6 qui a encore plus de 20% de parts de marché. Pour enlever le bord il est plus simple de faire border:0