Formulaire incompatible IE 9

Résolu/Fermé
spirit63 - 31 janv. 2011 à 22:54
 spirit63 - 1 févr. 2011 à 10:16
Bonsoir,

Je recréé un post, puisque l'autre est résolu merci à la communauté de "comment ça marche"
Mon formulaire ne fonctionne pas avec IE 9 mais les autres navigateurs aucuns soucis...???
Je mets les codes :
avant <head>

<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
$f_3=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
$f_4=trim(eregi_replace("[^0-9+]", "", $f_4));
$f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5)));
$f_6=trim(eregi_replace("[^0-9\ +]", "", $f_6));
$f_7=trim(eregi_replace("[^0-9\ +]", "", $f_7));
$f_8=strip_tags(trim($f_8));
// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ « Code postal » est vide ou incomplet.</span>";
$errf_4=1;
}
if(strlen($f_8)<2){
$erreur.="<li><span class='txterror'>Le champ « Adresse Email » est vide ou incomplet.</span>";
$errf_8=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_'a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_'a-z{|}~]+$',
$f_8)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_8=1;
}
}
if(strlen($f_9)<2){
$erreur.="<li><span class='txterror'>Le champ « Votre message » est vide ou incomplet.</span>";
$errf_9=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:tisserand.v@live.fr\n";
$corps.="Nom : ".$f_1."\n";
$corps.="Prénom : ".$f_2."\n";
$corps.="Adresse : ".$f_3."\n";
$corps.="Code postal : ".$f_4."\n";
$corps.="Ville - Dept : ".$f_5."\n";
$corps.="Téléphone domicile : ".$f_6."\n";
$corps.="Téléphone mobile : ".$f_7."\n";
$corps.="Adresse Email : ".$f_8."\n";
$corps.="Votre message : ".$f_9."\n";
if(mail("tisserand.v@live.fr", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>

mon affichage :

<td width="25"> </td>
<TD valign="top" class="texte">
<? if($ok_mail=="true"){ ?>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<tr><td><span class="textetra"><br>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.<br><br></span></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><span class="textetra"><br>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.<br><br></span></td></tr>
</table>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='1' cellpadding='3' align='left'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr><td> </td></tr>
<tr><td colspan='6' align='left'><span class="textetra">Besoin d'une information ?<br> Merci de remplir le formulaire ci-dessous, nous prendrons contact avec vous dans les meilleurs delais.<br><br></span></td></tr>
<tr><td align='right' width='30%'><span class="texte">Nom* :</span></td><td><input type='text' style="background-color:white;color:#565656;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td>
<td align='right' width='30%'><span class="texte">Prénom* :</span></td><td><input type='text'style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Adresse :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:250 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' rows='6' cols='40'><?echo$f_3?></textarea></td>
<td align='right' width='30%'><span class="texte">Code postal* :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Ville - Dept* :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>'<?echo$f_5?></td></tr>
<tr><td align='right' width='30%'><span class="texte">Téléphone domicile :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0'></td>
<td align='right' width='30%'><span class="texte">Téléphone mobile :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Adresse Email* :</span></td><td><input type='text' style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:150 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<?echo stripslashes($f_8);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Votre message :</span></td><td><textarea style="background-color:white;color:#565656;border:0;style;border: 1px solid #B4618D;" style='width:250 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' rows='6' cols='40'><?echo$f_9?></textarea><br><span class='texte_bas'>Les champs marqué d'un * sont obligatoires<br><br></span></td></tr>
<tr><td align='right' width='30%'></td><td><input type='image' name='submit' src="images/ok.gif" value='Envoyer' border='0'><br><br></td></tr>

</body>
</html></td></tr>
</table>
</form>

??? IE 9 grrr en plus il beuggggg

Merci d'avance pour votre aide

2 réponses

apparemment c'est le bouton input en image qu'il n'aime pas :
si je mets :
<input type='submit' name='submit' value='Envoyer' border='0'>
Ca fonctionne

Mais :

<input type='image' name='submit' src="images/ok.gif" value='Envoyer' border='0'>

Il ne veut pas envoyer le message

Me suis-je trompé dans mon code ?
0
j'ai trouvé.... :-)

dans mon précédant post "design formulaire "
__construct() - 31 jan 2011 à 21:15 dit:

Bonsoir,
Utilise la propriété CSS border appliquée à tes inputs, rien de bien sorcier là-dedans...

Un peu fatigué, j'ai noté les css dans mes cellules en brut voir plus haut.
Et.... IE 9 à été + intelligent, car en bloquant l'envoi il m'a permis de constater que je ne recevais pas les messages envoyés même avec les autres navigateurs.

Comme quoi quand ça ne veut pas il faut savoir lâcher prise :-) pour ceux qui ont fait la même erreur voici ce qu'il faut faire :

<style type="text/css" media="screen"><!--
INPUT { color: #656565; font-size: 11px; font-family: verdana, Arial, Helvetica; border:0;style;border: 1px solid #B4618D; background-color: white}
SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica; border:0;style;border: 1px solid #B4618D; background-color: white}
TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica; border:0;style;border: 1px solid #B4618D; background-color: white}
.txterror { color: black; font-size: 11px; font-family: Verdana, Arial, Helvetica }
.txtform { color: black; font-size: 12px; font-family: Verdana, Arial, Helvetica }

--></style>


Ce qui donne :
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='670' border='0' cellspacing='1' cellpadding='3' align='left'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b>&nbsp;ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr><td>&nbsp;</td></tr>
<tr><td colspan='6' align='left'><span class="textetra">Besoin d'une information ?<br> Merci de remplir le formulaire ci-dessous, nous prendrons contact avec vous dans les meilleurs delais.<br><br></span></td></tr>
<tr><td align='right' width='30%'><span class="texte">Nom* :</span></td><td><input type='text'style='width:150 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td>
<td align='right' width='30%'><span class="texte">Prénom* :</span></td><td><input type='text' style='width:150 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Adresse :</span></td><td><input type='text' style='width:250 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td>
<td align='right' width='30%'><span class="texte">Code postal* :</span></td><td><input type='text' style='width:150 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Ville - Dept* :</span></td><td><input type='text' style='width:150 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>'<?echo$f_5?></td></tr>
<tr><td align='right' width='30%'><span class="texte">Téléphone domicile :</span></td><td><input type='text' style='width:150 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' value='<?echo stripslashes($f_6);?>' size='24' border='0'></td>
<td align='right' width='30%'><span class="texte">Téléphone mobile :</span></td><td><input type='text' style='width:150 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' value='<?echo stripslashes($f_7);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Adresse Email* :</span></td><td><input type='text' style='width:150 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' value='<?echo stripslashes($f_8);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class="texte">Votre message* :</span></td><td><textarea  style='width:250 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_9' rows='6' cols='40'><?echo$f_9?></textarea><br><span class="texte_bas">Les champs marqué d'un * sont obligatoires<br><br></span></td></tr>
<tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'><br><br></td></tr>
<tr><td colspan='6' class="texteex">* Conformément à l'article 43 de la loi 'Informatique et Libertés' relative à l'informatique, aux fichiers et aux libertés, vous disposez d'un droit d'accés, de modification, de rectification et de suppression des données qui vous concernent.
</body>
</html></td></tr>
</table>
</form>
<? } ?>


Voilà si ça peut aider...
Encore merci à la communauté "comment ça marche" très réactif
0