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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Ajout dynamique d'input (incompatible)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajout dynamique d'input (incompatible)

n°1382611
Toby14
Toby or not Toby
Posté le 07-06-2006 à 10:19:13  profilanswer
 

Salut,
Pour mon stage je fais un site et je voudrais faire un ajout dynamique de balise input dans un formulaire.
Je l'ai fais et cela marche sous IE.
Mais sous mozilla lors de la validation de mon formulaire il ne passe pas le nom de la balise input avec la valeur.
J'ai regardé dans le DOMi de mozilla après un ajout de balise input et tout est nickel.(evidemment ca marche sous IE)
Pourquoi dans mon get je ne retrouve pas mon input??
 
voici le code JS:
 

Code :
  1. var nombreChamp = 0;
  2. function AddRemoveInput(what)
  3. {
  4.     if(what == 'Add')
  5.     {
  6.         var elem = document.createElement("INPUT" );
  7.        elem.setAttribute("type", "text" );
  8.        elem.setAttribute("id", "requirement"+nombreChamp );
  9.        elem.setAttribute("name", "requirement"+nombreChamp );
  10.        elem.setAttribute("value", "" );
  11.         document.getElementById("input_requirement" ).insertBefore(elem, document.getElementById("fin" ));
  12.         document.getElementById("input_requirement" ).insertBefore(document.createElement("br" ), document.getElementById("fin" ));
  13.         nombreChamp++;
  14.     }
  15.     else if(what == 'Remove' && nombreChamp > 0)
  16.     {
  17.         var childlast = document.getElementById("input_requirement" ).lastChild;
  18.         document.getElementById("input_requirement" ).removeChild(childlast);
  19.         nombreChamp--;
  20.     }
  21.     document.getElementById("nb_requirement" ).value = nombreChamp;
  22. }


 
et le code dans mon forumlaire:

Code :
  1. <tr>
  2. <td id="requirement">Requirement document reference</td>
  3. <td id="input_requirement" colspan="2">
  4. <?php
  5. $sql = "SELECT ID_requirement_doc FROM $prefix"."task_requirement WHERE ID_task='".$result['ID']."';";
  6. $done2 = mssql_query($sql);
  7. $i=0;
  8. while($result2 = mssql_fetch_array($done2))
  9. {
  10.   echo "<input type='text' name='requirement_base$i' value='".stripslashes($result2['ID_requirement_doc'])."' />"."<br />"; 
  11. $i++;
  12. }
  13. ?>
  14. //la ligne magique qui rajoute des balise inputs    
  15.    <a id="fin" href="#" onClick="AddRemoveInput('Add'); ">Add requirement document</a>
  16. </td>
  17. </tr>

mood
Publicité
Posté le 07-06-2006 à 10:19:13  profilanswer
 

n°1382619
anapajari
s/travail/glanding on hfr/gs;
Posté le 07-06-2006 à 10:28:58  profilanswer
 

Ta fonction semble "correcte" ( bien que j'aurais fait 2/3 trucs differement) d'ailleurs elle fonctionne.
C'est plus ton code html que je trouve surprenant , ou sont les balises form?

n°1382647
Toby14
Toby or not Toby
Posté le 07-06-2006 à 10:43:08  profilanswer
 

anapajari a écrit :

Ta fonction semble "correcte" ( bien que j'aurais fait 2/3 trucs differement) d'ailleurs elle fonctionne.
C'est plus ton code html que je trouve surprenant , ou sont les balises form?


 
 
le tout est bien sur dans une balise form:
 

Code :
  1. <table border="1" class="vignettes">
  2. <form id="leform" method="get" action="./traitment/traitments_form_edit.php">
  3.  <tr><td class="bouton" colspan="2">Complete this form</td></tr>
  4. <input type="hidden" id="nb_requirement" name="nb_requirement" value="0" />
  5. ....
  6. //le code juste avant
  7. </form>
  8. </table>


 
Je n'ai pas tout mis car c'est un peu long.
 
 
Edit: Sinon dans le DOMi il y a un #text qui se glisse entre les balise input créé par la boucle while et l'ajout de la nouvelle balise par JS.
Mais en remontant les previousSibling il y a bien la balise d'avant.


Message édité par Toby14 le 07-06-2006 à 10:59:02
n°1382752
Toby14
Toby or not Toby
Posté le 07-06-2006 à 11:56:42  profilanswer
 

Bon j'ai une solution, enlever le table et mettre des fieldset, label. Ca a l'air de passer.

n°1956230
pko06
Posté le 08-01-2010 à 17:30:09  profilanswer
 

Toby14 a écrit :

Bon j'ai une solution, enlever le table et mettre des fieldset, label. Ca a l'air de passer.


 :love:  :pt1cable:  :jap:  
Merci beaucoup d'avoir poster le bilan de tes recherches !


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

  Ajout dynamique d'input (incompatible)

 

Sujets relatifs
Batch - DHCP - Ajout d'adresse à exclure à partir d'un *.txt ?ajout de ligne à partir d'un include ...
[php - débile] page d'accueil dynamique :o<input type="text"> spécifique
IP dynamiqueModification dynamique de pages par internautes ?
pb ajout lienhypertxt relatifAllocation dynamique d'un tableau
modif d'un input a partir d'un textareaafficher tableau dynamique dans un état Access
Plus de sujets relatifs à : Ajout dynamique d'input (incompatible)


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