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 :

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>
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
 
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);
	}
}
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.

Quelqu'un saurait-il d'où peut venir cette erreur ?

Merci de votre aide !

PS : Je tourne sous FF 14.0.1