Changer le bouton submit par une image

Eléphant du PHP | 52 Messages

11 avr. 2007, 09:11

Bonjour,

Y'a t-il un moyen de changer le bouton submit par une image tout en gardant l'aspect de validation des formulaires.

j'ai essayé ceci mais ça ne marche pas :
<?php
if(isset($_POST['send'])
{
       .....
}
?>
<html>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input type="image" src="image.png" name="send">
</form>
</html>
Merci pour votre aide.

Mammouth du PHP | 1353 Messages

11 avr. 2007, 09:30

Il y a un moyen mais cela devient du javascript.

Tu peux ajouter une image et l'évènement onClick= , et dans ce onclick tu utilises la fonction submit() d'un formulaire.

Si ton formulaire s'appelle "test" un code comme celui ci devrait fonctionner :

Code : Tout sélectionner

<img src="image.jpg" onClick="document.test.submit();"/>
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 52 Messages

11 avr. 2007, 10:14

Merci bien,

j'ai déja essayé ça, mais ça ne marche pas. j'ai meme essayé :

<input type="image" src="img.png" onClick="document.getElementById('test').submit() ;">

Mammouth du PHP | 1353 Messages

11 avr. 2007, 10:36

Fais voir tout ton code s'il te plait. Car dans l'exemple que tu as donné tu n'avais pas donné de nom a ton formulaire. Cela devrait fonctionner.
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 52 Messages

11 avr. 2007, 10:58

ok, le voila :
<form id="test" name="test" action="<?php echo $_SERVER['PHP_SELF'] ; ?>" method="POST" >
<input...>
<input type ="image" src= "img.png" onClick="document.getElementById('test').submit();">
</form>

Eléphant du PHP | 52 Messages

11 avr. 2007, 11:01

j'ai oublié de mentionner que nom de l'image dans le formulaire est

<input...... name="send".....>

Mammouth du PHP | 1353 Messages

11 avr. 2007, 11:39

pour cette méthode il ne faut pas que cela soit un input, une image simple suffit (<img src="...".../>). Après je ne sais pas si c'est la meilleure solution, et si le javascript est desactivé cela ne fonctionnera pas.

Regarde sinon du coté des input type=button et du css, il me semble que l'on peut mettre une image en arriere plan d'un bouton (background-image = url(...) dans le css)...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Invité
Invité n'ayant pas de compte PHPfrance

11 avr. 2007, 15:15

Non non le javascript est enabled y a pas de probleme, Je pense que ça ne marche pas avec <img src=..> j'ai essayé! :(
et les boutons avec les CSS c'est pas beau!!

Mammouth du PHP | 1353 Messages

11 avr. 2007, 15:22

Sors ton image de ton <form> ca devrait fonctionner :
<form name="test" action="test.html" method="post">
<input type="text"/>
</form>
<img src="image.jpg" onClick="document.test.submit();"/>
Ce code fonctionne parfaitement normalement.
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 52 Messages

11 avr. 2007, 18:05

Peut être ça marche, mais vous avez oublié qu'à la base mon script, en haut de la page, test si quelque chose ayant le non 'send' isSet() ce qui fait que l'image doit avoir un nom="send".

Mammouth du PHP | 1353 Messages

11 avr. 2007, 18:17

je ne comprend pas quelles sont les données dans ton formulaire que tu souhaites récupérer... Le if(isset($_POST['send']) pourra te servir à tester si les données passées par ton formulaire sont bien recues mais je ne vois pas pourquoi tester cela sur la valeur de l'image elle meme...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphant du PHP | 52 Messages

11 avr. 2007, 18:30

En faite c'est le bouton submit de mon formulaire que je suis en train de remplacer, et j'ai des données à tester.

Mais ça y'est c 'est bon, j'ai trouvé la solution, j'ai utilisé une feuille de style que j'attache à ce bouton, et ça marche comme sur des roulettes. :D

Eléphant du PHP | 52 Messages

11 avr. 2007, 18:31

J'ai oublié de dire merci

MERCI. :D