Page 1 sur 1
Input type"image"
Posté : 04 déc. 2011, 23:07
par orell1
Bonsoir à tous,
je ne comprends pas pourquoi mon input image ne fonctionne pas...
le voici : <input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="this.form.submit();" />
Lorsque j'utilise <input type="submit" name="action" value="Activer" /> aucun problème l'action se fait mais quand je veux utiliser la même action pour le input image, ça ne fonctionne pas...
Quelqu'un pour m'aider?
Merci par avance.
Re: Input type"image"
Posté : 04 déc. 2011, 23:29
par xTG
Le this référence le input et non le form.
Pour accéder à l'objet form :
Re: Input type"image"
Posté : 04 déc. 2011, 23:37
par orell1
Merci.
Mais je dois le placer où ce truc? loool
Merci
Re: Input type"image"
Posté : 04 déc. 2011, 23:38
par xTG
A la place de ce que tu as dans le onclick...
Et en prenant garde à modifier mon code en fonction de ton formulaire...
Re: Input type"image"
Posté : 04 déc. 2011, 23:43
par orell1
ça ne fonctionne pas ...
j'ai fait ça : <input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="document.forms['codepage'].submit();" />
le début de mon formulaire...
<form method="post">
<input type="hidden" name="codepage" value="RECHERCHER_CLIENTS" />
merciiii
Re: Input type"image"
Posté : 04 déc. 2011, 23:47
par orell1
idem, lorsque je modifie la value ça ne fonctionne plus...
ETAT INITIAL : <input type="submit" name="action" value="Activer" style="color:#090" /> = ça fonctionne
MODIFIE : <input type="submit" name="action" value="Activer Compte Client" style="color:#090" /> = ça ne fonctionne pas
Etrange, non?
Re: Input type"image"
Posté : 05 déc. 2011, 07:28
par xTG
codepage doit être le nom de la balise form.
Re: Input type"image"
Posté : 05 déc. 2011, 08:58
par orell1
j'ai essayé ça mais toujours pareil : <input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="codepage.forms['action'].submit();" />
merci
Re: Input type"image"
Posté : 05 déc. 2011, 09:20
par orell1
et je viens de faire ça :
<form method="post" name="codepage">
<input type="hidden" name="codepage" value="RECHERCHER_CLIENTS" />
<input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="document.forms['codepage'].submit();" />
mais toujours pareil...

Re: Input type"image"
Posté : 05 déc. 2011, 10:24
par xTG
<?php
if( !empty($_POST['test']) ) echo'ok';
?>
<form method="POST" name="codepage">
<input type="text" name="test" value="1" />
<input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="document.forms['codepage'].submit();" />
</form>
Re: Input type"image"
Posté : 05 déc. 2011, 10:52
par orell1
non toujours pas...
peut-être que cela provient de mon formulaire, non?
<form method="POST" name="codepage">
<input type="hidden" name="codepage" value="RECHERCHER_CLIENTS" />
<h1>Liste des comptes actifs (<?php echo is_array($actifs)?count($actifs):0;?>)</h1>
<p><input type="checkbox" onclick="selectTout(this,'uActifs[]');" />Sélectionner tout</p>
<table border="0"><?php echo isset($listeUtilisateursActifs)?$listeUtilisateursActifs:"";?></table>
<h1>Liste des comptes désactivés (<?php echo is_array($nonActifs)?count($nonActifs):0;?>)</h1>
<p><input type="checkbox" onclick="selectTout(this,'uNonActifs[]');" />Sélectionner tout</p>
<table border="0"><?php echo isset($listeUtilisateursNonActifs)?$listeUtilisateursNonActifs:"";?></table>
<h1>Liste des comptes supprimés (<?php echo is_array($supprimes)?count($supprimes):0;?>)</h1>
<p><input type="checkbox" onclick="selectTout(this,'uSupprimes[]');" />Sélectionner tout</p>
<table border="0"><?php echo isset($listeUtilisateursSupprimes)?$listeUtilisateursSupprimes:"";?></table>
<br /><h1>Gestion des comptes | Choisissez une action</h1>
<center><strong><br />
Gestion des Comptes</strong><br />
<input type="image" src="../images/BOUTON-ACTIVER-COMPTE-CLIENT.png" name="action" value="Activer" onclick="document.forms['codepage'].submit();" /> // NE FONCTIONNE PAS! CEUX DU DESSOUS SI
<input type="submit" name="action" value="Desactiver" style="color:#F00" />
<br / style="margin-bottom:5px;">
<input type="submit" name="action" value="Restaurer" style="color:#090" />
<input type="submit" name="action" value="Supprimer" style="color:#F00" />
<br /><br />
<h1></h1>
<br />
<strong>Gestion de la messagerie</strong><br />
<input type="submit" name="action" value="Activer Alerte" style="color:#090" />
<input type="submit" name="action" value="Desactiver Alerte" style="color:#F00"/>
<br /><br />
<h1></h1>
<br />
<strong>Suppression définitive</strong><br />
<input type="submit" name="action" value="Supprimer definitivement" style="color:#F00"/></center>
</form>
Re: Input type"image"
Posté : 05 déc. 2011, 11:57
par xTG
<form method="POST" name="codepage">
<input type="hidden" name="codepage" value="RECHERCHER_CLIENTS" />
Tu as deux éléments qui possèdent le même nom, cela provient peut être de cela.
Re: Input type"image"
Posté : 05 déc. 2011, 22:22
par Ryle
hop hop hop !
Un input de type image est l'équivalent d'un bouton submit. Lorsque l'on clique sur l'image, le formulaire va être automatiquement envoyé, donc y a rien à mettre dans le onclick, pas plus que dans celui du submit !
En revanche, le fait d'utiliser un input de type image va t'envoyer les coordonnées du point qui a été cliqué sous la forme nomDeTonChamp.x et nomDeTonChamp.y (que php va transformer en nomDeTonChamp_x et nomDeTonChamp_y)
Du coup si tu as un test sur la présence de $_POST['action'], celui-ci ne fonctionnera pas. Il faut tester $_POST['nomDeTonChamp.x'] ou n'importe quel autre champ de ton formulaire qui sera systématiquement envoyé (un hidden par exemple).
A noter que certains navigateurs vont quand même envoyer le nom du champ (donc les 3 informations : nomDeTonChamp, nomDeTonChamp.x et nomDeTonChamp.y), mais ce fonctionnement n'est pas généralisé, donc pour plus de sécurité, vaut mieux tester l'une des coordonnées

Re: Input type"image"
Posté : 05 déc. 2011, 23:26
par orell1
Merci beaucoup, j'ai procédé autrement en utilisant le css
