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
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
FERMER LA PAGEFERMER LA PAGE par bydouille
Cliquez pour lire la suite par bydouille
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|