Accueil > Forum > > > > Problemme innerHTML sous IE
Problemme innerHTML sous IE
mardi 6 janvier 2009 à 13:14:07 |
Problemme innerHTML sous IE

magicgus
|
Bonjour
Je suis perdu, j'ai une page php dans laquelle se trouve du JS pour verifié ce que l'utilisateur tape dans le formulaire, ça marche très bien sous FF, par contre ça plante sous IE7
Dans le code JavaScript var pseudo = document .getElementById('pseudo'); // Pointe vers une balise DIV var NullMessage = "Ce champ ne peut rester vide";
//dans une fonction de vérif pseudo.innerHTML = NullMessage; // l'erreur IE pointe sur cette ligne ! Dans le BODY <div id="pseudo"> <?php global $_RESULT; echo $_RESULT['pseudo']; ?> </div> Comme dit ça marche sans problème sur FF mais IE me renvoie l'erreur suivante : "Erreur d'execution inconnue" code "0" Bien sûr le script est alors interrompue !
Pratique, alors avec l'ami Google j'ai trouver plein d'info comme quoi innerHTML ne serais pas reconnu officielement par le W3C, comme quoi il y'aurais des problème avec IE sous certainne application de ce procédé, bla bla bla Et sur le site Microsoft il relate cette erreur, mais chez eux c'est quand on essaye cette methode sur une table, or moi c'est un pauvre div... Bref j'ai vue beaucoup d'info, assez flouts qui ne resolvé pas mon problème, d'où l'interet de ce post...
A j'ai aussi du coup essayer dans un HTML vide en simplifiant et etrangement ça marche... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans nom</title>
<script type="text/javascript" language="javascript"> <!-- function merde() { var toto = document.getElementById('toto'); toto.innerHTML = 'OK ça marche'; } --> </script>
</head> <body>
<input type="button" name="button1" onclick="merde()" value="Test !" /> <span id="toto"></span>
</body> </html> Voilà, je ne pige rien, donc si quelqu'un peut m'aider... MERCI
Guillaume
|
|
mardi 6 janvier 2009 à 13:17:20 |
Re : Problemme innerHTML sous IE

magicgus
|
Ah pardon je me suis trompé, la ligne qui provoque l'erreur sous IE est la suivante :
pseudo.innerHTML = "Le pseudo saisie doit comporté au moins 6 caractères";
Guillaume
|
|
mardi 6 janvier 2009 à 13:18:21 |
Re : Problemme innerHTML sous IE

magicgus
|
Heu à savoir que c'est la premiere a être tester donc pour les autres ça serait la meme je pense ...
Guillaume
|
|
mardi 6 janvier 2009 à 13:38:20 |
Re : Problemme innerHTML sous IE
|
mardi 6 janvier 2009 à 13:43:46 |
Re : Problemme innerHTML sous IE

Bul3
|
zut souci d'envoi !
>> et etrangement ça marche...
donc...
c'est qu'il y a une erreur dans l'autre script !
ce n'est pas étrange !
tant qu'aux bugs des navigateurs : ce ne sont
que des conneries ! il n'y a aucun bug dans
aucun navigateur ! c'est toujours celui qui
code qui se plante !
>>pseudo.innerHTML = NullMessage;
t'es sur ? IE commene à numéroter à 0
ce n'est pas la ligne suivante ?
en attendant :
•————————•——————————————————————————————————————————————————————————•
|Chrome | controler la page actuelle |
| | Options pour les développeurs |
| | Console Javascript |
•————————•——————————————————————————————————————————————————————————•
|FireFox |regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
| | et mieux, : télécharger FireBug |
•————————•——————————————————————————————————————————————————————————•
|Internet|activer le deboggage : Outils/options Internet/Avancés |
|Explorer| dans la liste, sous "Navigation" : décocher |
| | o Afficher une notification de chaque erreur de script |
| | o Désactiver le débogage de Scripts (Internet Explorer) |
| | et mieux, : télécharger le Debogger IE |
| | voir aussi : DebugBar et Companion JS |
•————————•——————————————————————————————————————————————————————————•
|K-Meleon|regarder la "console d'erreurs" |
| | Outils / Console d'erreurs |
•————————•——————————————————————————————————————————————————————————•
|Opera |regarder la "console d'erreurs" |
| | Outils / Avancé / Console d'erreurs |
•————————•——————————————————————————————————————————————————————————•
|Safari |regarder Debug / Show JavaScript Console |
| | ° modifier Fichier com.apple.Safari.plist situé dans le |
| | répertoire : Support:\Documents and Settings\utilisateur\|
| | Application Data\Apple Computer\Safari\Preferences\|
| | y ajouter <key>IncludeDebugMenu</key> |
| | <true/> |
•————————•——————————————————————————————————————————————————————————•
pour IE8, le debooggage est différent, mais comme
ce n'est pas encore une version officielle...
Cordialement.
|
|
mardi 6 janvier 2009 à 13:51:54 |
Re : Problemme innerHTML sous IE
|
mardi 6 janvier 2009 à 14:19:11 |
Re : Problemme innerHTML sous IE

magicgus
|
Merci
Seulement Le deboggeur MS me renvoie la page sur Microsoft Script Editor de office qui lui ne contient pas de deboggeur et DebugBar + Conpanion JS me renvoie la meme erreur qu'IE
Donc je suis toujours un peu paumé, je vais te faire parvenir le script complet de la page
Guillaume
|
|
mardi 6 janvier 2009 à 14:20:02 |
Re : Problemme innerHTML sous IE

magicgus
|
subscrite.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Inscription 2</title> </head>
<script type="text/javascript" language="javascript"> <!-- function NotNullString(mode) { // Declarations des variables Javascript globales var ErrorCount=0; var NullMessage = "Ce champ ne peut rester vide"; // Variables pour les SPAM de résultat JavaScript var pseudo = document.getElementById('pseudo'); var mot_de_passe = document.getElementById('mot_de_passe'); var retape_mot_de_passe = document.getElementById('retape_mot_de_passe'); var code_postal = document.getElementById('code_postal'); var email = document.getElementById('email');
//Vérification que les champ contiennent une valeur if (mode==0 || mode==1) { if (document.form1.pseudo.value == '') { pseudo.innerHTML = NullMessage; ErrorCount++; } else { if (document.form1.pseudo.value.length < 6) { pseudo.innerHTML = "Le pseudo saisie doit comporté au moins 6 caractères"; ErrorCount++; } else { pseudo.innerHTML = '';} } } //-----------------------------------------------------
if (mode==0 || mode==2) { if (document.form1.mot_de_passe.value == '') { mot_de_passe.innerHTML = NullMessage; ErrorCount++; } else { if (document.form1.mot_de_passe.value.length < 8) { mot_de_passe.innerHTML = 'Le mot_de_passe saisie doit comporté au moins 8 caractères'; ErrorCount++; } else { mot_de_passe.innerHTML = '';} } }
//----------------------------------------------------- else if (mode==0 || mode==3) { if (document.form1.retape_mot_de_passe.value == '') { retape_mot_de_passe.innerHTML = NullMessage; ErrorCount++; } else if (document.form1.retape_mot_de_passe.value == document.form1.mot_de_passe.value) { retape_mot_de_passe.innerHTML = ""; // Correct, reserve au cas où } else { retape_mot_de_passe.innerHTML = "Inccorect"; ErrorCount++; } }
//----------------------------------------------------- if (mode==0 || mode==4) { if (document.form1.code_postal.value == '') { code_postal.innerHTML = NullMessage; ErrorCount++; } else { if (document.form1.code_postal.value.length < 5) { code_postal.innerHTML = 'Le pseudo saisie doit comporté 5 chiffres'; // a voir pour les chiffres ErrorCount++; } else{ code_postal.innerHTML = '';; } } } //----------------------------------------------------- if (mode==0 || mode==5) { if (document.form1.email.value == '') { email.innerHTML = NullMessage; ErrorCount++; } else { if (VerifMail(document.form1.email.value)==true) { email.innerHTML = ''; } else { email.innerHTML = 'L\'adresse email est incorrectes'; ErrorCount++; } } } //----------------------------------------------------- if (mode==0); { if (document.form1.CGU.checked == true) { // Reserve } else { ErrorCount++; } } // Retour positive ou non pour la suite de la vérification par PHP avant validation totale if (ErrorCount > 0){return false;}else{return true;} }
function VerifMail(adress) { var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i'); if(reg.test(adress)) { document.form1.StatutForPHP.value = "on"; return(true); } else { return(false); } }
--> </script>
<?php // Chargement des includes de formatage et de sécurité include('../scripts/php/string/format.php'); include('../scripts/php/sql_commands/data_management.php'); ?> <body> <?php // Récupération des données puis traitement avant enregistrement
// Declaration de variable(s) globales $_RESULT = array('pseudo'=>'','mot_de_passe'=>'','sexe'=>'','date_naissance'=>'','code_postal','email'=>'','retape_mot_de_passe'=>'','code_postal'=>'','CGU'=>'');
// Verification si la page est chargé ou rechargé //if (isset($_POST['form_valide'])){
$ErrorCount=0; // Vérification des format string saisies, détéction des balises html if (isset($_POST['pseudo'])){
if ($pseudo = FormatStringNoHTML($_POST['pseudo']) == false){$ErrorCount++; global $_RESULT; $_RESULT['pseudo'] = 'Le Pseudo que vous avez entré n\'est pas valide';} else{$_RESULT['pseudo'] = '';}} if (isset($_POST['mot_de_passe'])){
if ($pseudo = FormatStringNoHTML($_POST['mot_de_passe']) == false){$ErrorCount++; global $_RESULT; $_RESULT['mot_de_passe'] = 'Le mot de passe que vous avez entré n\'est pas valide';} else{$_RESULT['mot_de_passe'] = '';}} if (isset($_POST['code_postal'])){
if ($pseudo = FormatStringNoHTML($_POST['code_postal']) == false){$ErrorCount++; global $_RESULT; $_RESULT['code_postal'] = 'Le code potal que vous avez entré n\'est pas valide';} else{$_RESULT['code_postal'] = '';}} if (isset($_POST['email'])){
if ($pseudo = FormatStringNoHTML($_POST['email']) == false){$ErrorCount++; global $_RESULT; $_RESULT['email'] = 'L\'adresse email que vous avez entré n\'est pas valide';} else{$_RESULT['email'] = '';}} if (isset($_POST['CGU'])){
global $_RESULT; $_RESULT['CGU'] = ' checked="checked" ';}
// PHP peut-il démarrer l'enregistrement ??? if (isset($_POST['StatutForPHP'])) {
if ($_POST['StatutForPHP'] == "on") { // Lancement de la fonction d'enregistrement SQL if ($ErrorCount==0) { if (CheckDispoPseudo($_POST['pseudo'])==true) { SubscriteUser($_POST['pseudo'],$_POST['mot_de_passe'],$_POST['sexe'],$_POST['jour_naissance'], $_POST['mois_naissance'],$_POST['annee_naissance'],$_POST['code_postal'],$_POST['email']); // ########### Placer ici le code pour aller a la page suivante ! } else { global $_RESULT; $_RESULT['pseudo'] = '<span name="php_result_pseudo">Désolé, mais ce pseuo existe déjà, choisissez en un autre</span>'; } } else { // s'il y'a une ou plusieurs erreurs } } }
?>
<form name="form1" action="subscrite.php" method="post" onsubmit="return NotNullString(0)"> <p><br /> <br /> </p> <table width="1257" border="0" cellpadding="0"> <tr> <td width="25"> </td> <td width="184">Mon pseudonyme : </td> <td width="185"><input type="text" name="pseudo" onkeyup="NotNullString(1)" maxlength="40" value="<?php if (isset($_POST['pseudo'])){echo $_POST['pseudo'];}?>"/></td> <td width="2"> </td> <td width="849"><div id="pseudo"> <?php global $_RESULT; echo $_RESULT['pseudo'];?></div></td> </tr> <tr> <td> </td> <td>Mot de passe : </td> <td><input type="text" name="mot_de_passe" onkeyup="NotNullString(2)" value="<?php if (isset($_POST['mot_de_passe'])){echo $_POST['mot_de_passe'];}?>"/></td> <td> </td> <td><div id="mot_de_passe"> <?php global $_RESULT; echo $_RESULT['mot_de_passe'];?></div></td> </tr> <tr> <td> </td> <td>Retaper le mot de passe :</td> <td><input type="text" name="retape_mot_de_passe" onkeyup="NotNullString(3)" value="<?php if (isset($_POST['retape_mot_de_passe'])){echo $_POST['retape_mot_de_passe'];}?>"/></td> <td> </td> <td><div id="retape_mot_de_passe"> <?php global $_RESULT; echo $_RESULT['retape_mot_de_passe'];?></div></td> </tr> <tr> <td> </td> <td>Sexe : </td> <td> <select name="sexe" id="sexe" value="<?php if (isset($_POST['sexe'])){echo $_POST['sexe'];}?>"> <option selected="selected" >un homme</option><option>une femme</option></select></td> <td> </td> <td><?php global $_RESULT; echo $_RESULT['sexe'];?></td> </tr> <tr> <td> </td> <td>Date de naissance</td> <td><select name="jour_naissance" id="jour_naissance" value="<?php if (isset($_POST['jour_naissance'])){echo $_POST['jour_naissance'];}?>"> <option selected="selected" ><?php for ($i=1; $i <= 31-1; $i++){if (strlen($i)==1){echo '0'.$i.'</option><option>';}else{echo $i.'</option><option>';}}echo $i.'</option>';?> </select> / <select name="mois_naissance" id="mois_naissance" value="<?php if (isset($_POST['mois_naissance'])){echo $_POST['mois_naissance'];}?>"> <option selected="selected" ><?php for ($i=1; $i <= 12-1; $i++){if (strlen($i)==1){echo '0'.$i.'</option><option>';}else{echo $i.'</option><option>';}}echo $i.'</option>';?> </select> / <select name="annee_naissance" id="annee_naissance" value="<?php if (isset($_POST['annee_naissance'])){echo $_POST['annee_naissance'];}?>"> <option selected="selected" ><?php for ($i=(date('Y')-18); $i >= (date('Y')-118); $i--){echo $i.'</option><option>';}echo (date('Y')-118).'</option>';?> </select></td> <td> </td> <td><?php global $_RESULT; echo $_RESULT['date_naissance'];?></td> </tr> <tr> <td> </td> <td>Code postal : </td> <td><input type="text" name="code_postal" onkeyup="NotNullString(4)" maxlength="5" value="<?php if (isset($_POST['code_postal'])){echo $_POST['code_postal'];}?>"/></td> <td> </td> <td><div id="code_postal"><?php global $_RESULT; echo $_RESULT['code_postal'];?></div></td> </tr> <tr> <td> </td> <td>email : </td> <td><input type="text" name="email" onkeyup="NotNullString(5)" value="<?php if (isset($_POST['email'])){echo $_POST['email'];}?>"/></td> <td> </td> <td><div id="email"> <?php global $_RESULT; echo $_RESULT['email'];?></div></td> </tr> <tr> <td> </td> <td colspan="4"> </td> </tr> <tr> <td> </td> <td colspan="4"><input type="checkbox" name="CGU" id="CGU" <?php if (isset($_POST['CGU'])){echo $_POST['CGU'];}?>/> Je certifie être majeur(e) et avoir lu et accepté les CGU ainsi que la politique sur la vie privée de Stras-Rencontres et des services décrits.</td> </tr> <tr> <td> </td> <td colspan="4"> </td> </tr> <tr> <td> </td> <td> </td>
<td colspan="3"> <input type="hidden" name="StatutForPHP" value="off" /> <input type="submit" value="Je m'inscrit !" /></td> </tr> </table> <p><br /> <br /> </p> </form> <p> </p> <p> </p> <p> </p> </body> </html>
|
|
mardi 6 janvier 2009 à 14:21:15 |
Re : Problemme innerHTML sous IE

magicgus
|
data_management.php
<?php
// Ajoute un utilisateur avec les données d'inscription function SubscriteUser($pseudo,$mot_de_passe,$sexe,$jour_naissance,$mois_naissance,$annee_naissance,$code_postal,$email){
// Connexion à la base $link = mysql_connect("localhost", "root", ""); mysql_select_db("stras_rencontres", $link);
$mysql_query = "INSERT INTO users (pseudo,mot_de_passe,sexe,jour_naissance,mois_naissance,annee_naissance,code_postal,email) VALUES ('".$pseudo."','".$mot_de_passe."','".$sexe."','".$jour_naissance."','".$mois_naissance."','".$annee_naissance."','".$code_postal."','".$email."')"; mysql_query($mysql_query);
mysql_close($link); } // Fonction de vérification de l'existance du pseudo function CheckDispoPseudo($pseudo) { // Connexion à la base $link = mysql_connect("localhost", "root", ""); mysql_select_db("stras_rencontres", $link); // Verifier que le pseudo existe $mysql_query = "SELECT pseudo FROM users WHERE pseudo='".$pseudo."'"; //SELECT pseudo FROM users WHERE pseudo='paul' $return = mysql_query($mysql_query); $return = mysql_fetch_array($return); if ($return[0]=='') { return true; } else { return false; } mysql_close($link); } ?>
|
|
mardi 6 janvier 2009 à 14:22:44 |
Re : Problemme innerHTML sous IE

magicgus
|
PS je sait qu'il y'a des trucs que je peut enlever en PHP, mais c'est encore pas fini et je sait que ce n'a pas de rapport avec mon problème ...
Guillaume
|
|
Cette discussion est classée dans : ie, erreur, marche, pseudo, innerhtml
Répondre à ce message
Sujets en rapport avec ce message
réutilisation du code Javascript - IE vs Ns ?! [ par husleagd ]
Bonjour à tous,J'ai un code qui marche bien dans IE, et Konqueror mais pas dans Netscape7.1 sous Linux.D'abord voilà le code: ..... <script language="
marche pas, dès publié [ par briovere ]
Je me suis servis d'un script que j'ai trouvé sur ce site.C'est juste un petit menu déroulant.Tout fonctionne parfaitement en local.Dès que la page es
body onload="form.submit();" => erreur javascript! marche 1 fois sur 2 [ par deniscarl ]
bonjour,Je fais une redirection pour des site en PHP et il me faut une page intermediaire, qui redirige les variable POST et GET.Mon Code PHP génère u
Erreur javascript avec Mozilla [ par raven44 ]
Le problème est très simple : j'ai deux boutons sur un formulaire, ces deux la : <input type='button' value='Enregistrer/Fermer'
Problème très bizarre avec Div.innerHTML [ par tonic1 ]
Bonjour,j'ai un gros problème, et qui me semble très bizarre.Dans mon code, quand je tappe : nom_de_mon_div.innerHTML="coucou"; Aucun probleme sous IE
Probleme avec IE sur un onChange [ par ov3rdoze ]
BonjourJ'ai un select dans un formulaire et j'ai mis dans le onchange : if(this.value=='autre')document.getElementById('PI').innerHTML='';else documen
div.innerHTML="<script></script>" [ par hakim0 ]
j'ai un problem avec div.innerHTML, avec cette exemple ca marche: div.innerHTML="All is ok.!"; Mais avec l'exemple suivant ne ca marche pas div.innerH
aide sur un script [ par christmac ]
Voila mon probleme j'ai recuperer un script qui ce nomme xpmenuv2_2 que je trouve super cool. J'ai reussi a le modifier pour en faire un peut ce que j
Problème de onclick sous IE [ par 4zel ]
Salut, Je développe actuellement la nouvelle version de mon site, et voici un nouveau souci avec Internet Explorer, alors que tout marche nickel sous
Le hover en css marche pas sous IE? [ par Monico9385 ]
Bonjour tout le monde! j'ai créé un menu tout simple en css, ou quand on passe la souris au dessus d'un div ca change la couleur. Voila mon code css:
Livres en rapport
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|