Problème javascript / DOM

Problème javascript / DOM - HTML/CSS - Programmation

Marsh Posté le 19-09-2008 à 08:51:50    

Bonjour,
Voici ma fonction javascript qui permet d'ajouter une ligne dans un tableau lors d'un clic sur un bouton :
 
function ActionAjouter()
  {
  var tbodyajout = document.createElement("tbody" );
  tbodyajout.setAttribute("id","t_bodyajout" );
   
  var lig_ajout=document.createElement("tr" );
  var col_ajoutDate=document.createElement("td" );
  var col_ajoutRespect=document.createElement("td" );
  var TextBoxDate=document.createElement("input" );
  var TextRadio=document.createElement("input" );
 
  document.getElementById("ajoutRdv" ).appendChild(tbodyajout);
   
  TextBoxDate.setAttribute("type","text" );
  TextBoxDate.setAttribute("name","DateRdv" );
  TextBoxDate.setAttribute("value",document.forms[0].Rdv.value);
   
  col_ajoutDate.appendChild(TextBoxDate);
  lig_ajout.appendChild(col_ajoutDate);
  tbodyajout.appendChild(lig_ajout);  
  }

 
Quand clic sur le bouton, la zone de texte ajoutée apparaît puis disparaît aussitôt !
 
Je ne comprends pas ce qu'il se passe. Merci pour votre aide !

Reply

Marsh Posté le 19-09-2008 à 08:51:50   

Reply

Marsh Posté le 19-09-2008 à 12:34:03    

T'as pas le HTML pour le meme prix :o ?

Reply

Marsh Posté le 19-09-2008 à 13:00:34    

Voici la partie intéressante HTML. Merci d'avance  
 
 
     <table id="ajoutRdv" border="1" width="90%" align="center">
      </table>
         
    <br><br><br><br>    
         
      <table border="1" width="90%" align="center">  
        <tr>
           <td width="43%" align="center"><input class="saisie" <?php if ($wservice!="Z_PRECADENT2" && $wservice!="Z_PRECADENT3" ) { echo "readonly"; } ?> type="text" name="Rdv" size="11" value="<?php echo $Rdv ?>" onblur="VerifDate(this)"></td>
           <td width="47%" align="center" colspan="2"><input type="radio" name="RdvRespect" value="O" <?php echo ($RdvRespect=="O" )?"checked":"" ?>>Oui
            &nbsp;&nbsp;&nbsp;<input type="radio" name="RdvRespect" value="N" <?php echo ($RdvRespect=="N" )?"checked":"" ?>>Non
           </td>
           <td align="center"><input type="image" src="../images/plus.gif" name="Ajout" alt="Ajouter" onclick="ActionAjouter()"></td>
        </tr>
      </table>
     </td>
    </tr>
  </table>

Reply

Marsh Posté le 19-09-2008 à 13:09:50    

tu compte recuperer la valeur du input sauf que dans le script tu precises que cette valeur ce situe dans un form (document.forms[0].Rdv.value), or il n y a pas de form dans ton html,
 
essaye un HTML comme ca
 

Code :
  1. <table id="ajoutRdv" border="1" width="90%" align="center">
  2.       </table>
  3.        
  4.     <br><br><br><br>   
  5.        
  6.       <table border="1" width="90%" align="center"> 
  7.         <tr>
  8.            <td width="43%" align="center"><form><input class="saisie" <?php if ($wservice!="Z_PRECADENT2" && $wservice!="Z_PRECADENT3" ) { echo "readonly"; } ?> type="text" name="Rdv" size="11" value="<?php echo $Rdv ?>" onblur="VerifDate(this)"></form></td>
  9.            <td width="47%" align="center" colspan="2"><input type="radio" name="RdvRespect" value="O" <?php echo ($RdvRespect=="O" )?"checked":"" ?>>Oui
  10.             &nbsp;&nbsp;&nbsp;<input type="radio" name="RdvRespect" value="N" <?php echo ($RdvRespect=="N" )?"checked":"" ?>>Non
  11.            </td>
  12.            <td align="center"><input type="image" src="../images/plus.gif" name="Ajout" alt="Ajouter" onclick="ActionAjouter()"></td>
  13.         </tr>
  14.       </table>
  15.      </td>
  16.     </tr>
  17.   </table>


Message édité par krifur le 19-09-2008 à 13:16:44
Reply

Marsh Posté le 19-09-2008 à 13:12:06    

enfin le mieux reste de declarer un id au champ input dont tu veux recuperer la valeur puis aller la chercher via DOM avec getElementByID

Reply

Marsh Posté le 19-09-2008 à 13:56:24    

Merci pour vos 2 réponses.
Comme je ne vous ai pas donné le code HTML en entier, vous pensiez que je n'avais pas de FORM mais j'en ai bien un.
J'ai également essayer votre 2ème solution mais en vain !
Je ne sais pas si je me suis bien expliquée, mais en fait je vois bien apparaitre la zone de texte avec le bon contenu, mais une fraction de secondes, le temps de cliquer sur l'image nommée "Ajout"

Reply

Marsh Posté le 19-09-2008 à 14:05:13    

t'aurais pas d'autres javascript qui effacent la ligne créee, chez moi ton script marche bien les lignes s ajoutent les unes a la suite des autres (FF3) ptet que ca vient de ton PHP aussi ...

Reply

Marsh Posté le 19-09-2008 à 14:22:23    

Merci pour votre collaboration, j'ai trouvé la solution à mon pb. En fait, c'est parce que je fais une action sur une image. Si je mets un input de type button à la place, ça marche. Ce doit être un bug de IE !
A+ et merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed