La table HTML suivante regroupe des informations sur les contacts d'une entreprise ( Nom, prénom, email, etc ... )
des inputs permettent de rentrer des données et de les ajouter à cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur sur la page.
Voici le vode JS de la fonction Ajouter()
function Ajouter() {
var form=document.getElementById('grille_cont');
var nom=form.nom.value;
var prenom=form.prenom.value;
var civ=form.civ.value;
var email=form.email.value;
var f1=form.f1.value;
var f2=form.f2.value;
var tel=form.tel.value;
var fax=form.fax.value;
var mob=form.mob.value;
if(nom=="" || email=="")
{alert('indiquer le nom du contact ainsi que son email')
}
else{
var l=form.liste_cont.options.length;
var oldHTML= document.getElementById('table_cont').innerHTML;
var catHTML='<tr name="lc" id="'+l+'"><td onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td id="st'+l+'">ajout</td></tr>';
var newHTML = oldHTML + catHTML;
document.getElementById('table_cont').innerHTML=newHTML;
var o=new Option(l,l);
form.liste_cont.options[l]=o;
<!--
NE PAS SUPPRIMER
ce select est en visibilité caché(hidden) car il est utile au code javascript mais pas à l'affichage
-->
<SELECT id="liste_cont" style="visibility:hidden" name="liste_cont" size="3"></SELECT>
<!-- fin du select en visibilité cachée -->
<INPUT type="button" value="Ajouter ce contact" onclick="Ajouter();"/>
</FORM>
Une idée du pourquoi de la chose ?
Merci de m'avoir lu et bonne journée à tous
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
SAM
Le 12/15/09 8:59 AM, cornichon a écrit :
Bonjour,
La table HTML suivante regroupe des informations sur les contacts d'une entreprise ( Nom, prénom, email, etc ... ) des inputs permettent de rentrer des données et de les ajouter à cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur sur la page.
Je suis même surpris que ça fonctionne avec Fx (sans alertes de la console d'erreurs).
Voici le vode JS de la fonction Ajouter() function Ajouter() { var form=document.getElementById('grille_cont');
var form = document.forms['grille_cont'];
var nom=form.nom.value; var prenom=form.prenom.value; var civ=form.civ.value; var email=form.email.value; var f1=form.f1.value; var f2=form.f2.value; var tel=form.tel.value; var fax=form.fax.value; var mob=form.mob.value; if(nom=="" || email=="") {alert('indiquer le nom du contact ainsi que son email') } else{ var l=form.liste_cont.options.length; var oldHTML= document.getElementById('table_cont').innerHTML; var catHTML='<tr name="lc" id="'+l+'"><td onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td id="st'+l+'">ajout</td></tr>'; var newHTML = oldHTML + catHTML; document.getElementById('table_cont').innerHTML=newHTML;
essayer : document.getElementById('table_cont').tbody.innerHTML=newHTML; ou : document.getElementById('table_cont').getElementsByTagName('TBODY')[0].innerHTML=newHTML;
-- sm
Le 12/15/09 8:59 AM, cornichon a écrit :
Bonjour,
La table HTML suivante regroupe des informations sur les contacts d'une
entreprise ( Nom, prénom, email, etc ... )
des inputs permettent de rentrer des données et de les ajouter à cette table en
cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous
firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne
s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur
sur la page.
Je suis même surpris que ça fonctionne avec Fx (sans alertes de la
console d'erreurs).
Voici le vode JS de la fonction Ajouter()
function Ajouter() {
var form=document.getElementById('grille_cont');
var form = document.forms['grille_cont'];
var nom=form.nom.value;
var prenom=form.prenom.value;
var civ=form.civ.value;
var email=form.email.value;
var f1=form.f1.value;
var f2=form.f2.value;
var tel=form.tel.value;
var fax=form.fax.value;
var mob=form.mob.value;
if(nom=="" || email=="")
{alert('indiquer le nom du contact ainsi que son email')
}
else{
var l=form.liste_cont.options.length;
var oldHTML= document.getElementById('table_cont').innerHTML;
var catHTML='<tr name="lc" id="'+l+'"><td
onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td
id="st'+l+'">ajout</td></tr>';
var newHTML = oldHTML + catHTML;
document.getElementById('table_cont').innerHTML=newHTML;
essayer :
document.getElementById('table_cont').tbody.innerHTML=newHTML;
ou :
document.getElementById('table_cont').getElementsByTagName('TBODY')[0].innerHTML=newHTML;
La table HTML suivante regroupe des informations sur les contacts d'une entreprise ( Nom, prénom, email, etc ... ) des inputs permettent de rentrer des données et de les ajouter à cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur sur la page.
Je suis même surpris que ça fonctionne avec Fx (sans alertes de la console d'erreurs).
Voici le vode JS de la fonction Ajouter() function Ajouter() { var form=document.getElementById('grille_cont');
var form = document.forms['grille_cont'];
var nom=form.nom.value; var prenom=form.prenom.value; var civ=form.civ.value; var email=form.email.value; var f1=form.f1.value; var f2=form.f2.value; var tel=form.tel.value; var fax=form.fax.value; var mob=form.mob.value; if(nom=="" || email=="") {alert('indiquer le nom du contact ainsi que son email') } else{ var l=form.liste_cont.options.length; var oldHTML= document.getElementById('table_cont').innerHTML; var catHTML='<tr name="lc" id="'+l+'"><td onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td id="st'+l+'">ajout</td></tr>'; var newHTML = oldHTML + catHTML; document.getElementById('table_cont').innerHTML=newHTML;
essayer : document.getElementById('table_cont').tbody.innerHTML=newHTML; ou : document.getElementById('table_cont').getElementsByTagName('TBODY')[0].innerHTML=newHTML;
Pfff en vrai le mieux c'est quand même tBodies[0] :)
stupides, stupides doigts ...
-- laurent
cornichon
cornichon a écrit le 15/12/2009 à 08h59 :
Bonjour,
La table HTML suivante regroupe des informations sur les contacts d'une entreprise ( Nom, prénom, email, etc ... ) des inputs permettent de rentrer des données et de les ajouter à cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur sur la page.
Voici le vode JS de la fonction Ajouter() function Ajouter() { var form=document.getElementById('grille_cont'); var nom=form.nom.value; var prenom=form.prenom.value; var civ=form.civ.value; var email=form.email.value; var f1=form.f1.value; var f2=form.f2.value; var tel=form.tel.value; var fax=form.fax.value; var mob=form.mob.value; if(nom=="" || email=="") {alert('indiquer le nom du contact ainsi que son email') } else{ var l=form.liste_cont.options.length; var oldHTML= document.getElementById('table_cont').innerHTML; var catHTML='<tr name="lc" id="'+l+'"><td onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td id="st'+l+'">ajout</td></tr>'; var newHTML = oldHTML + catHTML; document.getElementById('table_cont').innerHTML=newHTML; var o=new Option(l,l); form.liste_cont.options[l]=o;
<!-- NE PAS SUPPRIMER ce select est en visibilité caché(hidden) car il est utile au code javascript mais pas à l'affichage --> <SELECT id="liste_cont" style="visibility:hidden" name="liste_cont" size="3"></SELECT> <!-- fin du select en visibilité cachée --> <INPUT type="button" value="Ajouter ce contact" onclick="Ajouter();"/> </FORM>
Une idée du pourquoi de la chose ? Merci de m'avoir lu et bonne journée à tous
merci à tous pour votre aide, je vais tester vos solutions changer .innerHTML en .tbody.innerHTML n'a pas résolu mon problème. Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page" en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle être 28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant : Ligne : 28 Car : 3 Erreur: Erreur d'éxécution inconnue Code : 0
cornichon a écrit le 15/12/2009 à 08h59 :
Bonjour,
La table HTML suivante regroupe des informations sur les contacts d'une
entreprise ( Nom, prénom, email, etc ... )
des inputs permettent de rentrer des données et de les ajouter à
cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic,
sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne
ne s'ajoute pas à ma table, et la barre de statut en bas à gauche
affiche erreur sur la page.
Voici le vode JS de la fonction Ajouter()
function Ajouter() {
var form=document.getElementById('grille_cont');
var nom=form.nom.value;
var prenom=form.prenom.value;
var civ=form.civ.value;
var email=form.email.value;
var f1=form.f1.value;
var f2=form.f2.value;
var tel=form.tel.value;
var fax=form.fax.value;
var mob=form.mob.value;
if(nom=="" || email=="")
{alert('indiquer le nom du contact ainsi que son email')
}
else{
var l=form.liste_cont.options.length;
var oldHTML= document.getElementById('table_cont').innerHTML;
var catHTML='<tr name="lc" id="'+l+'"><td
onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td
id="st'+l+'">ajout</td></tr>';
var newHTML = oldHTML + catHTML;
document.getElementById('table_cont').innerHTML=newHTML;
var o=new Option(l,l);
form.liste_cont.options[l]=o;
<!--
NE PAS SUPPRIMER
ce select est en visibilité caché(hidden) car il est utile au
code javascript mais pas à l'affichage
-->
<SELECT id="liste_cont" style="visibility:hidden"
name="liste_cont" size="3"></SELECT>
<!-- fin du select en visibilité cachée -->
<INPUT type="button" value="Ajouter ce contact"
onclick="Ajouter();"/>
</FORM>
Une idée du pourquoi de la chose ?
Merci de m'avoir lu et bonne journée à tous
merci à tous pour votre aide, je vais tester vos solutions
changer .innerHTML en .tbody.innerHTML n'a pas résolu mon problème.
Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page"
en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle être
28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant :
Ligne : 28
Car : 3
Erreur: Erreur d'éxécution inconnue
Code : 0
La table HTML suivante regroupe des informations sur les contacts d'une entreprise ( Nom, prénom, email, etc ... ) des inputs permettent de rentrer des données et de les ajouter à cette table en cliquant sur le bouton AJOUTER(original isnt'it ?). Petit hic, sous firefox(3.0.15) tout se passe bien, alors qu'avec IE(6.0.2800), la ligne ne s'ajoute pas à ma table, et la barre de statut en bas à gauche affiche erreur sur la page.
Voici le vode JS de la fonction Ajouter() function Ajouter() { var form=document.getElementById('grille_cont'); var nom=form.nom.value; var prenom=form.prenom.value; var civ=form.civ.value; var email=form.email.value; var f1=form.f1.value; var f2=form.f2.value; var tel=form.tel.value; var fax=form.fax.value; var mob=form.mob.value; if(nom=="" || email=="") {alert('indiquer le nom du contact ainsi que son email') } else{ var l=form.liste_cont.options.length; var oldHTML= document.getElementById('table_cont').innerHTML; var catHTML='<tr name="lc" id="'+l+'"><td onClick="supp('+l+');">xxx</td><td>'+nom+'</td><td>'+prenom+'</td><td>'+civ+'</td><td>'+email+'</td><td>'+f1+'</td><td>'+f2+'</td><td>'+tel+'</td><td>'+fax+'</td><td>'+mob+'</td><td id="st'+l+'">ajout</td></tr>'; var newHTML = oldHTML + catHTML; document.getElementById('table_cont').innerHTML=newHTML; var o=new Option(l,l); form.liste_cont.options[l]=o;
<!-- NE PAS SUPPRIMER ce select est en visibilité caché(hidden) car il est utile au code javascript mais pas à l'affichage --> <SELECT id="liste_cont" style="visibility:hidden" name="liste_cont" size="3"></SELECT> <!-- fin du select en visibilité cachée --> <INPUT type="button" value="Ajouter ce contact" onclick="Ajouter();"/> </FORM>
Une idée du pourquoi de la chose ? Merci de m'avoir lu et bonne journée à tous
merci à tous pour votre aide, je vais tester vos solutions changer .innerHTML en .tbody.innerHTML n'a pas résolu mon problème. Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page" en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle être 28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant : Ligne : 28 Car : 3 Erreur: Erreur d'éxécution inconnue Code : 0
Ha? bon, peut-être ? ;-) (enfin ... un truc dans l'genre, quoi)
M'enfin avec GetElementByTagName('TBODY')[0] on est certain d'assurer.
Ceci dit, innerHTML et les tableaux ça n'a jamais fait très bon ménage.
heu ... je n'en suis pas si sûr même s'il parait plus élégant de jongler avec les rows et cells comme ici par exemple : <http://www.howtocreate.co.uk/tutorials/javascript/domtables> où ils utilisent le bon tboDiEs||Tbodies||TBodies||tBodies||tbodies
Ha? bon, peut-être ? ;-) (enfin ... un truc dans l'genre, quoi)
M'enfin avec
GetElementByTagName('TBODY')[0]
on est certain d'assurer.
Ceci dit, innerHTML et les tableaux ça n'a jamais fait très bon ménage.
heu ... je n'en suis pas si sûr
même s'il parait plus élégant de jongler avec les rows et cells
comme ici par exemple :
<http://www.howtocreate.co.uk/tutorials/javascript/domtables>
où ils utilisent le bon tboDiEs||Tbodies||TBodies||tBodies||tbodies
Ha? bon, peut-être ? ;-) (enfin ... un truc dans l'genre, quoi)
M'enfin avec GetElementByTagName('TBODY')[0] on est certain d'assurer.
Ceci dit, innerHTML et les tableaux ça n'a jamais fait très bon ménage.
heu ... je n'en suis pas si sûr même s'il parait plus élégant de jongler avec les rows et cells comme ici par exemple : <http://www.howtocreate.co.uk/tutorials/javascript/domtables> où ils utilisent le bon tboDiEs||Tbodies||TBodies||tBodies||tbodies
-- sm
SAM
Le 12/15/09 11:30 AM, Laurent vilday a écrit :
Laurent vilday :
ou plutôt avec Tbodies[0] :)
Pfff en vrai le mieux c'est quand même tBodies[0] :)
stupides, stupides doigts ...
je disais bien ... qque chose dans cette idée là ;-)
Le 12/15/09 11:30 AM, Laurent vilday a écrit :
Laurent vilday :
ou plutôt avec Tbodies[0] :)
Pfff en vrai le mieux c'est quand même tBodies[0] :)
stupides, stupides doigts ...
je disais bien ... qque chose dans cette idée là ;-)
Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page" en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle être 28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant :
Les erreurs rapportées par IE sont souvent du pipeau !
Autant l'erreur était avant ( document.getElementById('table_cont').innerHTML=newHTML; ) c'est même certain : IE ne voulant rien ajouter dans un table mais seulement dans le(s) tbody(s) du table (ou le tfoot ou le thead)
Car là, comme ça pris en dehors de tout contexte, je ne vois rien d'incorrect à var o=new Option(l,l);
Ligne : 28 Car : 3 Erreur: Erreur d'éxécution inconnue Code : 0
Le 12/15/09 11:50 AM, cornichon a écrit :
merci à tous pour votre aide, je vais tester vos solutions
changer .innerHTML en .tbody.innerHTML n'a pas résolu mon problème.
Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page"
en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle
être
28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant :
Les erreurs rapportées par IE sont souvent du pipeau !
Autant l'erreur était avant
( document.getElementById('table_cont').innerHTML=newHTML; )
c'est même certain :
IE ne voulant rien ajouter dans un table mais seulement dans le(s)
tbody(s) du table (ou le tfoot ou le thead)
Car là, comme ça pris en dehors de tout contexte, je ne vois rien
d'incorrect à
var o=new Option(l,l);
Ligne : 28
Car : 3
Erreur: Erreur d'éxécution inconnue
Code : 0
Par contre, j'avance : ayant double-cliqué sur le symbole "erreur sur la page" en bas à gacuhe dans la barre de statut, la ligne qui pose problème se révèle être 28: var o=new Option(l,l);
Le message d'erreur d'IE est le suivant :
Les erreurs rapportées par IE sont souvent du pipeau !
Autant l'erreur était avant ( document.getElementById('table_cont').innerHTML=newHTML; ) c'est même certain : IE ne voulant rien ajouter dans un table mais seulement dans le(s) tbody(s) du table (ou le tfoot ou le thead)
Car là, comme ça pris en dehors de tout contexte, je ne vois rien d'incorrect à var o=new Option(l,l);
Ligne : 28 Car : 3 Erreur: Erreur d'éxécution inconnue Code : 0