11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Il me fallait sans doute un prétexte pour souhaiter mes meilleurs voeux pour 2009 à tous les AlSaNauteS...
Le voici :

J'ai d'une part un html du genre :

<form id="NEWENTRIES" method="post">
    <TABLE id="TABENTRIES" class="caltable">
        <TBODY id="TABENTRIESBODY">
        </TBODY>
    </TABLE>
</form>

Suite à une action quelconque, un JS est déclanché et dont l'objet est de créer un certain nombre de champs de saisie dans la table. Le code simplifié suit :

formid=document.getElementById("NEWENTRIES");
formid.action="Main.php?ops=majcal&#038;insert=true&#038;nbentries="+nbentries+"&#038;categ="+categ;
tabid=document.getElementById("TABENTRIESBODY");
for(i=0;i<nbentries;i++){
    newrow=document.createElement("tr");
    newcell=document.createElement("td");
    newdata=document.createElement("input");
    newdata.type="text";
    newdata.className='ptpersmes';
    newdata.name="date_"+i;
    newdata.size=10;
    newcell.appendChild(newdata);
    newrow.appendChild(newcell);
    tabid.appendChild(newrow);}
newrow=document.createElement("tr");
newcell=document.createElement("td");
newdata=document.createElement("input");
newdata.className='validteam';
newdata.value="Insérer"
newdata.type="submit";
newcell.appendChild(newdata);
newrow.appendChild(newcell);
tabid.appendChild(newrow);

Tout se passe sans aucun problème avec Opera 9.
Avec FireFox 2 ou IE7, au submit du formulaire, les champs valent tous NULL indépendemment de leur contenu.
Modifié par aCOSwt (09 Jan 2009 - 08:48)
Bon... en fait... le problème était là :
aCOSwt a écrit :

formid.action="Main.php?ops=majcal&#038;insert=true&#038;nbentries="+nbentries+"&#038;categ="+categ;

Cela ne pose aucun problème à Opera mais manifestement, FireFox 2 et IE7 ne supportent pas les notations en caractères spéciaux entre double quotes! =>

formid.action="Main.php?ops=majcal&insert=true&nbentries="+nbentries+"&categ="+categ;