encore en plein phase de débogage du site je me retrouve confronté à un nouveau problème ou plutôt deux ! confus confused
En fait le premier vient de mon formulaire de contact.
J'ai mis au début un input type select où la personne à le choix du statut entre Particulier et Société.
Si il choisit particulier rien de spécial ne se passe et il continue à remplir son formulaire de contact tout normalement. Par contre s'il choisit Société alors là le javascript rentre en action pour rajouter dynamiquement un input type texte où la personne saisira son nom de société. Ce rajout dynamique je l'effectue grâce au innerHTML.
Après test, cela marche impeccable sous MFF par contre sous IE de nouveau la galère. Il ne me prend pas du tout le innerHTML en compte.
J'ai un peu cherché et j'ai pu voir que ce bug était déjà recensé par microsoft depuis 2003 ....... et toujours pas corrigé en 2008 :s :s mais je n'ai pas réussi à mettre de méthode en application pour résoudre ce problème.
Voila mon code
contact.php
CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kreazone - PAGE DE CONTACT - Design graphique - Marquage tous supports - Textile - Objet pub</title>
<link rel="shortcut icon" href="images/favicon/favicon.ico" />
<link href="styles/styles.css" type="text/css" rel="stylesheet" />
<link href="styles/menu.css" type="text/css" rel="stylesheet" />
</head>
<script language="javascript">
var bodycolor_list = new Array ( "#3F3F3F", "#B1C800" );;
var bodycolor_index = Math.floor (Math.random() * bodycolor_list.length);
var bodycolor = bodycolor_list[bodycolor_index];
document.write ("<body bgcolor=" + bodycolor + ">");
</script>
<script language="javascript" type="text/javascript">
function affiche_text_reponse(contact)
{
var Obj = document.getElementById( 'D_INPUT'); // Recup du DIV
var Html = ""; // le nouveau contenu
var nb_rep = eval(contact.statut.value);
if (nb_rep == 1)
{
Html += "<td>Société:</td><td><input name='societe' size='20' type='text'></td>";
}
else
{
Html += "";
}
Obj.innerHTML = Html; // ecriture dans le DIV
}
</script>
<div id="div_generale">
<?php
include 'header.php';
include 'menu.php';
include 'contenu_contact.php';
include 'footer.php';
include 'validation.php';
?>
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kreazone - PAGE DE CONTACT - Design graphique - Marquage tous supports - Textile - Objet pub</title>
<link rel="shortcut icon" href="images/favicon/favicon.ico" />
<link href="styles/styles.css" type="text/css" rel="stylesheet" />
<link href="styles/menu.css" type="text/css" rel="stylesheet" />
</head>
<script language="javascript">
var bodycolor_list = new Array ( "#3F3F3F", "#B1C800" );;
var bodycolor_index = Math.floor (Math.random() * bodycolor_list.length);
var bodycolor = bodycolor_list[bodycolor_index];
document.write ("<body bgcolor=" + bodycolor + ">");
</script>
<script language="javascript" type="text/javascript">
function affiche_text_reponse(contact)
{
var Obj = document.getElementById( 'D_INPUT'); // Recup du DIV
var Html = ""; // le nouveau contenu
var nb_rep = eval(contact.statut.value);
if (nb_rep == 1)
{
Html += "<td>Société:</td><td><input name='societe' size='20' type='text'></td>";
}
else
{
Html += "";
}
Obj.innerHTML = Html; // ecriture dans le DIV
}
</script>
<div id="div_generale">
<?php
include 'header.php';
include 'menu.php';
include 'contenu_contact.php';
include 'footer.php';
include 'validation.php';
?>
</div>
</body>
</html>
contenu_contact.php
CODE
<div id="div_contenu_contact">
<span class="titre_partie">CONTACT</span>
<br /><br /><br />
<form action="valid_contact.php" method="post" id="contact" name="contact">
<center>
<table id="table_contact">
<tr>
<td>Statut : </td>
<td>
<select id="statut" name="statut" onChange="affiche_text_reponse(form)">
<option id='part' value='0'>particulier</option>
<option id='soc' value='1'>société</option>
</select>
</td>
</tr>
<tr>
<td>Nom : </td>
<td><input type="text" id="nom" name="nom" size="20"/></td>
</tr>
<tr>
<td>Prénom : </td>
<td><input type="text" id="prenom" name="prenom" size="20"/></td>
</tr>
<tr id="D_INPUT" name="D_INPUT">
</tr>
<tr>
<td>Adresse :</td>
<td><input type="text" id="adresse" name="adresse" size="20" /></td>
</tr>
<tr>
<td>Code Postal : </td>
<td><input type="text" id="code_postal" name="code_postal" size="20"/></td>
</tr>
<tr>
<td>Ville : </td>
<td><input type="text" id="ville" name="ville" size="20"/></td>
</tr>
<tr>
<td>Email : </td>
<td><input type="text" id="email" name="email" size="20"/></td>
</tr>
<tr>
<td>Téléphone : </td>
<td><input type="text" id="telephone" name="telephone" size="20"/></td>
</tr>
<tr>
<td>Message : </td>
<td><textarea id="message" name="message" cols="50" rows="10" wrap="virtual"></textarea></td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" id="valid_contact" name="valid_contact" value="ENVOYER" />
<input type="reset" id="annul_contact" name="annul_contact" value="ANNULER" />
</center>
</td>
</tr>
</table>
<br/><br/>
<fieldset class="legal_contact">
Les informations recueillies font l’objet d’un traitement informatique destiné à mettre en place un fichier de clients et de propsects .
Les destinataires des données sont : la société Kreazone. Conformément à la loi «informatique et libertés» du 6 janvier 1978,
vous bénéficiez d’un droit d’accès et de rectification aux informations qui vous concernent. Si vous souhaitez exercer ce droit
et obtenir communication des informations vous concernant, veuillez vous adresser à Kreazone 10, rue du faubourg 67260 Keskastel.
</fieldset>
</center>
</form>
</div>
<span class="titre_partie">CONTACT</span>
<br /><br /><br />
<form action="valid_contact.php" method="post" id="contact" name="contact">
<center>
<table id="table_contact">
<tr>
<td>Statut : </td>
<td>
<select id="statut" name="statut" onChange="affiche_text_reponse(form)">
<option id='part' value='0'>particulier</option>
<option id='soc' value='1'>société</option>
</select>
</td>
</tr>
<tr>
<td>Nom : </td>
<td><input type="text" id="nom" name="nom" size="20"/></td>
</tr>
<tr>
<td>Prénom : </td>
<td><input type="text" id="prenom" name="prenom" size="20"/></td>
</tr>
<tr id="D_INPUT" name="D_INPUT">
</tr>
<tr>
<td>Adresse :</td>
<td><input type="text" id="adresse" name="adresse" size="20" /></td>
</tr>
<tr>
<td>Code Postal : </td>
<td><input type="text" id="code_postal" name="code_postal" size="20"/></td>
</tr>
<tr>
<td>Ville : </td>
<td><input type="text" id="ville" name="ville" size="20"/></td>
</tr>
<tr>
<td>Email : </td>
<td><input type="text" id="email" name="email" size="20"/></td>
</tr>
<tr>
<td>Téléphone : </td>
<td><input type="text" id="telephone" name="telephone" size="20"/></td>
</tr>
<tr>
<td>Message : </td>
<td><textarea id="message" name="message" cols="50" rows="10" wrap="virtual"></textarea></td>
</tr>
<tr>
<td colspan="2">
<center>
<input type="submit" id="valid_contact" name="valid_contact" value="ENVOYER" />
<input type="reset" id="annul_contact" name="annul_contact" value="ANNULER" />
</center>
</td>
</tr>
</table>
<br/><br/>
<fieldset class="legal_contact">
Les informations recueillies font l’objet d’un traitement informatique destiné à mettre en place un fichier de clients et de propsects .
Les destinataires des données sont : la société Kreazone. Conformément à la loi «informatique et libertés» du 6 janvier 1978,
vous bénéficiez d’un droit d’accès et de rectification aux informations qui vous concernent. Si vous souhaitez exercer ce droit
et obtenir communication des informations vous concernant, veuillez vous adresser à Kreazone 10, rue du faubourg 67260 Keskastel.
</fieldset>
</center>
</form>
</div>
Et mon deuxième problème est le suivant j'ai mes codes javascript pour mettre en place la galerie d'image défilante mais aussi le système de news pour la page d'accueil, et mon problème est le suivant. Si je mets le doctype en en-tête mes images de la galerie javascript n'aparaissent pas mais par contre le javascript doit surement être actif car en ouvrant Firebug et en plaçant mon curseur de la souris sur les DIV devant contenir les images je vois un cadre bleu qui se deplace, donc le défilement en lui même fonctionne je pense.
J'ai donc effectué quelques recherches et j'ai pu lire quelque chose comme MODE QUIRCKS ou quelque chose du genre.
Qu'est ce que c'est exactement ?
Comment résoudre ce problème de galerie qui disparait lorsque j'inscrit mes doctypes, car si j'enlève les doctypes, pas de problème, la galerie s'affiche correctement.
slide.js
CODE
var sliderwidth="50px"
var sliderheight="120px"
var slidespeed=1
slidebgcolor="00OO00"
var finalslide=''
var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(" ")+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide
function fillup()
{
if (iedom)
{
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+4+"px"
}
else if (document.layers)
{
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+4
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}
addLoadEvent(fillup);
function slideleft()
{
if (iedom)
{
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+0))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+4+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+0))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+4+"px"
}
else if (document.layers)
{
if (ns_slide.left>(actualwidth*(-1)+0))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+4
if (ns_slide2.left>(actualwidth*(-1)+0))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+4
}
}
if (iedom||document.layers)
{
with (document)
{
if (iedom)
{
write('<table width=680 align=center border=0 id="cinesearch"><tr><td>')
write('<div style="position:relative;top:1px;left:-1px;width:100%;height:1;" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div style="position:absolute;top:305px;left:-2px;width:100%;height:170;overflow:hidden;">')
write('<div id="test2" style="position:absolute;width:100%;left:-1px;top:1px"></div>')
write('<div id="test3" style="position:absolute;width:100%;left:-1000px;top:1px"></div></div></div>')
write('</td></tr></table>')
}
else if (document.layers)
{
}
}
}
var sliderheight="120px"
var slidespeed=1
slidebgcolor="00OO00"
var finalslide=''
var copyspeed=slidespeed
leftrightslide='<nobr>'+leftrightslide.join(" ")+'</nobr>'
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
var actualwidth=''
var cross_slide, ns_slide
function fillup()
{
if (iedom)
{
cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
cross_slide2.style.left=actualwidth+4+"px"
}
else if (document.layers)
{
ns_slide=document.ns_slidemenu.document.ns_slidemenu2
ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
ns_slide.document.write(leftrightslide)
ns_slide.document.close()
actualwidth=ns_slide.document.width
ns_slide2.left=actualwidth+4
ns_slide2.document.write(leftrightslide)
ns_slide2.document.close()
}
lefttime=setInterval("slideleft()",30)
}
addLoadEvent(fillup);
function slideleft()
{
if (iedom)
{
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+0))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+4+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+0))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+4+"px"
}
else if (document.layers)
{
if (ns_slide.left>(actualwidth*(-1)+0))
ns_slide.left-=copyspeed
else
ns_slide.left=ns_slide2.left+actualwidth+4
if (ns_slide2.left>(actualwidth*(-1)+0))
ns_slide2.left-=copyspeed
else
ns_slide2.left=ns_slide.left+actualwidth+4
}
}
if (iedom||document.layers)
{
with (document)
{
if (iedom)
{
write('<table width=680 align=center border=0 id="cinesearch"><tr><td>')
write('<div style="position:relative;top:1px;left:-1px;width:100%;height:1;" onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed">')
write('<div style="position:absolute;top:305px;left:-2px;width:100%;height:170;overflow:hidden;">')
write('<div id="test2" style="position:absolute;width:100%;left:-1px;top:1px"></div>')
write('<div id="test3" style="position:absolute;width:100%;left:-1000px;top:1px"></div></div></div>')
write('</td></tr></table>')
}
else if (document.layers)
{
}
}
}
imageslide_accueil.js
CODE
// JavaScript Document
var leftrightslide = new Array();
leftrightslide[0] ='<IMG src="images/diapo/accueil/1.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[1] ='<IMG src="images/diapo/accueil/2.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[2] ='<IMG src="images/diapo/accueil/3.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[3] ='<IMG src="images/diapo/accueil/4.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[4] ='<IMG src="images/diapo/accueil/5.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
var leftrightslide = new Array();
leftrightslide[0] ='<IMG src="images/diapo/accueil/1.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[1] ='<IMG src="images/diapo/accueil/2.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[2] ='<IMG src="images/diapo/accueil/3.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[3] ='<IMG src="images/diapo/accueil/4.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
leftrightslide[4] ='<IMG src="images/diapo/accueil/5.png" border=1 alt="Kreazone Accueil Agence Graphique Marquage Textile Objets pub Design"/>';
Merci d'avance.
Arnaud S.
