Javascript qui utilise DOM marche pas sous IE

Fermé
JS_DOM_IE - 18 sept. 2009 à 17:07
 nilrens - 15 déc. 2009 à 02:06
Bonjour,

J'ai fait un code qui permet d'ajouter dynamiquement des lignes sur un formulaire et qui utilise Javascript/DOM.
Il marche nickel sous Firefox mais pas du tt sous Internet Explorer !!!
Et je ne vois pas du tt ce qui pose problème pour IE !! (je n'ai pas beaucoup d'expérience dans ce genre de programmation) Svp si vous avez des idées aidez-moi!!

Voici mon code javascript :

<script type="text/javascript">
k =1;

function ajoute_plage() {

divNode=document.getElementsByTagName("plage");
divNode=divNode[divNode.length-1];
jourNode=document.getElementsByTagName("jour")[0];
newNode=divNode.cloneNode(true);

input=newNode.getElementsByTagName("input");

lastNode=jourNode.lastChild;
b_node=lastNode.previousSibling;
bb_node = b_node.previousSibling;
jourNode.insertBefore(newNode,bb_node);
k++;
}


function supprime_plage() {
divNode=document.getElementsByTagName("plage");
if(divNode.length>1) {
jourNode=document.getElementsByTagName("jour")[0];
jourNode.removeChild(divNode[divNode.length-1]);
k--;
}
}

</script>




Et mon code xml:


<form method='post' onsubmit='return verifForm(this)'>

<br><br><br>

<jour>
<hr>
<label>Choisir un jour: </label>
<select name='jour1'>
<option value='lundi'>lundi</option>
<option value='mardi'>mardi</option>
<option value='mercredi'>mercredi</option>
<option value='jeudi'>jeudi</option>
<option value='vendredi'>vendredi</option>
<option value='samedi'>samedi</option>
<option value='dimanche'>dimanche</option>
</select>
<br>


<plage>
<br>
<label> <strong> - Plage horaire: </strong>
de :</label> <
input type='text' name='de_plage_0' value='08:00:00' />

à : <input type='text' name='a_plage_0' value='18:00:00' />
<input type='hidden' name='nombre_plages' value='1' />
<input type='button' value='Ajouter plage' onclick='ajoute_plage()'/>
<input type='button' value='Supprimer plage' onclick='supprime_plage()'/>
</plage>
<br><br>
<hr>
</jour>


<br><br>

<p align='center'>
<input type='submit' value='Transmettre horaires' name='ajoutHoraire' />
</p>

</form>

1 réponse

re,

C'est apparement previousSibling qui dérange IE. Mais même quand je l'utilise pluq
(
quand je fais:
lastNode=jourNode.lastChild;
//b_node=lastNode.previousSibling;
//bb_node = b_node.previousSibling;
jourNode.insertBefore(newNode,lastNode);
)
le bouton d'ajout ne marche pas.

Personne n'aurait d'idées? Moi qui pensait que DOM était normalisé pour tous les navigateurs ...
0
Attention à la modification du DOM en cours de lecture sous IE...
0