Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1781 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème javascript / DOM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème javascript / DOM

n°1788994
nagard
Posté le 19-09-2008 à 08:51:50  profilanswer
 

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 !

mood
Publicité
Posté le 19-09-2008 à 08:51:50  profilanswer
 

n°1789269
krifur
Posté le 19-09-2008 à 12:34:03  profilanswer
 

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

n°1789282
nagard
Posté le 19-09-2008 à 13:00:34  profilanswer
 

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>

n°1789288
krifur
Posté le 19-09-2008 à 13:09:50  profilanswer
 

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
n°1789290
krifur
Posté le 19-09-2008 à 13:12:06  profilanswer
 

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

n°1789324
nagard
Posté le 19-09-2008 à 13:56:24  profilanswer
 

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"

n°1789329
krifur
Posté le 19-09-2008 à 14:05:13  profilanswer
 

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 ...

n°1789340
nagard
Posté le 19-09-2008 à 14:22:23  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème javascript / DOM

 

Sujets relatifs
[javascript]Out of memory :(Probléme méthode paintComponent()
[SVG + JAVASCRIPT + XML] Realisation de graphique animeAlerte URL JavaScript
problème sur les spritesProblème avec PHP photo module
Problème require_once[JS] recherche calendrier javascript style thunderbird
problème requête updateJavascript + XHTML : problème DOM
Plus de sujets relatifs à : Problème javascript / DOM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR