Bonjour à tous,
J'essaie de créer un formulaire qui contient un <select> dans lequel se trouve toute une liste d'articles.
Ce <select> a comme attribut : onChange='ajout_input(this.form)' ce qui fait que, si je sélectionnes dans cette liste l'article "article_1", cela active la fonction ajout_input(form).
La fonction ajout_input s'occupe de créer, à la sélection d'un article, un <input> avec comme attribut : type 'checkbox' et comme nom, le nom de l'article (article_1).
Pour être plus clair, voici mon code :
ajout_article.js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script src="js/ajout_article.js"></script> </head> <body> <br /><h1>Création fiche client </h1> <form method="post" name="create_fiche" action="create_fiche.php"> Article : <select id="liste_articles" name="liste_articles" onChange='ajout_input(this.form)'> <option></option> <option>Article_1</option> <option>Article_2</option> <option>Article_3</option> <option>Article_4</option> <option>Article_5</option> </select> <br /><br /> <div id="article_select"> </div> <input type="submit" value="Envoyer"/> </form> </body> </html>
Les inputs sont bien créés automatiquement mais lorsque je "submit" mon formulaire, ils ne sont pas envoyés. J'ai vérifié avec un var_dump($_POST) sur ma page create_fiche.php et, effectivement, seuls les données des inputs déjà présents sur mon formulaire (non-dynamique) sont récupérés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 function ajout_input(form) { var articles_ajoutes = document.getElementById("article_select").innerHTML; var nom_article = document.getElementById('liste_articles').options[document.getElementById('liste_articles').selectedIndex].text; var doublon = new RegExp(nom_article, 'g'); if (articles_ajoutes.match(doublon) == null ) { var text_article = document.createTextNode(" "+nom_article); var newline = document.createElement('br'); var input= document.createElement('input'); input.setAttribute("type", "checkbox"); input.setAttribute("checked", "true"); input.setAttribute("disabled", "true"); input.setAttribute("name", nom_article); create_fiche.appendChild(input); article_select.appendChild(input); article_select.appendChild(text_article); article_select.appendChild(newline); } }
Quelqu'un saurait-il d'où peut venir cette erreur ?
Merci de votre aide !
PS : Je tourne sous FF 14.0.1
Partager