Page 1 sur 1

Changer le bouton submit par une image

Posté : 11 avr. 2007, 09:11
par code3
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.

Posté : 11 avr. 2007, 09:30
par guilt92
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();"/>

Posté : 11 avr. 2007, 10:14
par code3
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() ;">

Posté : 11 avr. 2007, 10:36
par guilt92
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.

Posté : 11 avr. 2007, 10:58
par code3
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>

Posté : 11 avr. 2007, 11:01
par code3
j'ai oublié de mentionner que nom de l'image dans le formulaire est

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

Posté : 11 avr. 2007, 11:39
par guilt92
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)...

Posté : 11 avr. 2007, 15:15
par Invité
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!!

Posté : 11 avr. 2007, 15:22
par guilt92
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.

Posté : 11 avr. 2007, 18:05
par code3
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".

Posté : 11 avr. 2007, 18:17
par guilt92
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...

Posté : 11 avr. 2007, 18:30
par code3
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

Posté : 11 avr. 2007, 18:31
par code3
J'ai oublié de dire merci

MERCI. :D