FORM input image valeur non renvoyé par IE

Fermé
Monkey Monk - 10 oct. 2007 à 03:38
 jakjon - 9 mai 2011 à 11:13
Bonjour,
j'ai fait un formulaire (melange de php et javascript) avec 2 bouton image (input type=image) qui ont 2 valeur différente (l'un true l'autre false)... mon problème réside dans le fait que l'envoi des valeurs appropriées à ces boutons ne fonctionne pas avec Internet Explorer (IE ne gère pas les onClick), pouvez-vous m'aider ?
script php d'affichage formulaire >>

echo '<p><form method="post" name="newsletter" action="">';
echo ' <input style="width:250; height:15; border:0; background-color:#006633; color:#ffffff; font-size:9;" name="mail" maxlength="50" value="Entrez votre e-mail..." onfocus="value=\'\';" size=20>';
echo '<br /><br />';
echo ' <input style="boder:0;" type="image" name="flag" value="true" onClick=javascript:"window.loaction=\'index.php?act='.$_GET['act'].'&lg='.$_GET['lg'].'\'" src="_tools/inscrire.gif" />';
echo ' <input style="boder:0;" type="image" name="flag" value="false" onClick="javascript:window.loaction=\'index.php?act='.$_GET['act'].'&lg='.$_GET['lg'].'\'" src="_tools/desinscrire.gif" />';

le problème qu'avec IE la variable flag n'est pas renvoyée...

Une solution ?

Je pense qu'il me faudrait soit un moyen d'envoyé cette variable pour que mon script php la récupère soit la "captée" (?)

Merci !

5 réponses

Bonjour,

Plus simple et fonctionne avec tous les navigateurs :
Passage de la valeur par le nom et toujours par POST en ajoutant à la fin du nom la valeur entre 2 caractères spéciaux.

HTML => Exemple de plusieurs input image pour aligner du texte :
<input type="image" name="Align_left_" value="left" src="left.gif">
<input type="image" name="Align_center_" value="center" src="center.gif">
<input type="image" name="Align_right_" value="right" src="right.gif">


PHP => Récupération de "value" du input envoyé (recherche par expression régulière "preg_match") :
if(preg_match("'(.*)(?P<PostName>Align)(?P<Delimiter1>[_]{1})(?P<Value>[^_]*)(?P<Delimiter2>[_]{1})(.*)'i",implode(array_keys($_POST)),$Post)){
	$InputValue=$Post["Value"];
}


Ne reste plus qu'à utiliser "$InputValue" comme si c'était "$_POST["Align"]" !

Amusez-vous bien avec vos boutons persos !
Mathieu.
3
pecunia Messages postés 4 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 3 avril 2019
3 juin 2010 à 14:33
Parfait !

Cela répond exactement à mon problème et avec très peu de modifications de code.
0
Merci beaucoup,
ça marche parfaitement .
0
Monkey Monk
10 oct. 2007 à 05:16
Bon... j'ai trouver une solution... le bidouillage de bouton.
C'est pas la plus fière... mais ça marche !
Pour ceux que ça intéresse, j'explique :

J'ai flancher et utiliser des input type=submit (au lieu des type=image) et je leurs ai fait une jolie feuille de style ^^ (css) !
Voilà le code now... :

echo '<p><form method="post" name="newsletter" action="index.php?act='.$_GET['act'].'&lg='.$_GET['lg'].'">';
echo ' <input style="width:250; height:15; border:0; background-color:#006633; color:#ffffff; font-size:9;" name="mail" maxlength="50" value="Entrez votre e-mail..." onfocus="value=\'\';" size=20>';
echo '<br /><br />';
echo ' <input type="submit" class="boutonins" name="flag" value="true" />';
echo ' <input type="submit" class="boutondesins" name="flag" value="false" />';

.. en temps normal j'aurais 2 boutons, moches, avec ecrit "false" et "true" ^^ mais avec css :

input.boutonins {
border:1px solid #e3bc06;
background-image:url(inscrire.gif);
height:16px;
width:69px;
font-family:Verdana;
font-size:0px;
font-weight:bold;
color:white;
cursor:pointer;
}
input.boutonins:hover {
border:1px inset #e3bc06;
font-weight:bold;
color:white;
}
input.boutondesins {
border:1px solid #e3bc06;
background-image:url(desinscrire.gif);
height:16px;
width:96px;
font-family:Verdana;
font-size:0px;
font-weight:bold;
color:white;
cursor:pointer;
}
input.boutondesins:hover {
border:1px inset #e3bc06;
font-weight:bold;
color:white;
}

...avec css, disais-je, je met le texte du bouton à 0px et remplace le background par mon image (mon bouton rien qu'à moi ^^)...
Notez que j'ai utilisé du blanc pour le texte car 1.IE gardait une trace minuscule du "true" et "false"... et 2.c'est la couleur située au centre de mes boutons ! (=D)

Camouflage oui ! Mais résultat satisfaisant pour le moment... jusqu'à ce que je trouve une meilleure solution qui allie esthétique et efficacité !

A propos d'éfficacité... si qqun peu me dire si je peu optimisé ma css ...ça serai cool ! Et sur ce, je vais me coucher !

Merci !

That's all falks ! ^^
2
Salut,

Tu epux passer en parametre dans l'url index>php?............&flag=
0
Monkey Monk
10 oct. 2007 à 04:31
Bonjour,
oui mais le but c'est aussi d'éviter cette solution ^^... merci quand même !
Sinon, là je planche sur le css des boutons (input type=submit class=btn) ...mais bon c'est loin de mes images d'origines !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Monkey Monk
10 oct. 2007 à 05:21
Oh !
Pour les newbie pur dur j'ai oublié de donner ces qques liens... vachement utiles !
=> w3c reference : https://www.w3schools.com/default.asp
=> pour les "sorry jconé po" : http://css.mammouthland.net/

Voilà, bonne nuitée !
0