compteur pour input dynamique

florie
Invité n'ayant pas de compte PHPfrance

30 déc. 2006, 00:09

Bonjour à tous

Voila je viens demander de l'aide pour un script que j'essaye de mettre en place. J'ai besoin de créer des input a la volée. J'aimerais pouvoir enregistrer dans ma base les valeurs de ces input. Pour cela il faudrait que je puisse savoir combien d'input ont été utiliser.

Code : Tout sélectionner

<script> function create_champ(i) { var i2 = i + 1; document.getElementById('leschamps_'+i).innerHTML = '<input type="text" size="27" name="s_tracklisting_'+i+'" style="margin:0px;" maxlength="100"></span>'; document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ? '<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter un champs</a></span>' : ''; } </script> <input type="text" maxlength="100" size='27' name="s_tracklisting_1" style='margin:0px;' /><br /> <input type="text" maxlength="100" size='27' name="s_tracklisting_2" style='margin:0px;' /><br /> <input type="text" maxlength="100" size='27' name="s_tracklisting_3" style='margin:0px;' /><br /> <span id="leschamps_4"><a href="javascript:create_champ(4)">Add more Tracks</a></span>
En faite je pensé simplement renvoyer un autre input de type hidden qui aurait pour valeur le nombre total d'input...

Code : Tout sélectionner

<input type='hidden' name='hwm' value='Nombre_de_input' />

Mais je ne vois pas comment récuperer cette valeur...Est-ce que quelqu'un aurait une idée ? merci beaucoup et bonne fêtes de fin d'années à tous :)

Mammouth du PHP | 1885 Messages

30 déc. 2006, 00:26

Bonjour,

Tu peux donner un nom comme ceci:

name="s_tracklisting[1]"

Tu pourras alors récupérer en bouclant sur la variable $_POST['s_tracklisting']
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Florie
Invité n'ayant pas de compte PHPfrance

31 déc. 2006, 01:13

Bonjour,

Tu peux donner un nom comme ceci:

name="s_tracklisting[1]"

Tu pourras alors récupérer en bouclant sur la variable $_POST['s_tracklisting']
Merci Xenon_54 tu m'as grandement mi sur la voie...

J'ai une autre petite question sans vouloiur abusé.

Je n'y connais pas grand chose en javascript et j'aimerais ajouter une fonction a mon script qui effacerer le dernier champ.

Quelqu'un pourrait m'aiguiller ? merci à tous :wink:

Mammouth du PHP | 1885 Messages

31 déc. 2006, 01:49

Aies bien du plaisir mon ami:

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function add_field() { container = document.getElementById('s_tracklisting_rows'); container.innerHTML += '<div><input type="file" name="files[]">&nbsp;<span onclick="remove_field(this.parentNode)">[-]</span></div>'; } function remove_field(removed) { container = document.getElementById('s_tracklisting_rows'); container.removeChild(removed); } </script> <div id="s_tracklisting_rows"> <div><input type="file" name="s_tracklisting[]"></div> </div> <span onclick="add_field()">One more file please</span>
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Florie
Invité n'ayant pas de compte PHPfrance

31 déc. 2006, 16:42

Encore un grand merci j'ai pu l'adapter avec des input text. Y a juste un petit souci avec ce script... C'est que lorsque j'ajoute une ligne sous firefox ca efface ce qui été entrer dans les précédentes... alors que Explorer lui garde bien les infos précédement entrer... est-ce que tu sais comment y remédier ?

Désolé si j'abuse :oops:

Mammouth du PHP | 1885 Messages

31 déc. 2006, 18:14

Voilà c'est réglé:

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function add_field() { container = document.getElementById('s_tracklisting_rows'); var newFile = document.createElement('div'); newFile.innerHTML = '<input type="file" name="s_tracklisting[]">&nbsp;<span onclick="remove_field(this.parentNode)">[-]</span>'; container.appendChild(newFile); } function remove_field(removed) { container = document.getElementById('s_tracklisting_rows'); container.removeChild(removed); } </script> <div id="s_tracklisting_rows"> <div><input type="file" name="s_tracklisting[]"></div> </div> <span onclick="add_field()">One more file please</span>
Désolé pour l'erreur.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Florie
Invité n'ayant pas de compte PHPfrance

02 janv. 2007, 17:38

Voilà c'est réglé:

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function add_field() { container = document.getElementById('s_tracklisting_rows'); var newFile = document.createElement('div'); newFile.innerHTML = '<input type="file" name="s_tracklisting[]">&nbsp;<span onclick="remove_field(this.parentNode)">[-]</span>'; container.appendChild(newFile); } function remove_field(removed) { container = document.getElementById('s_tracklisting_rows'); container.removeChild(removed); } </script> <div id="s_tracklisting_rows"> <div><input type="file" name="s_tracklisting[]"></div> </div> <span onclick="add_field()">One more file please</span>
Désolé pour l'erreur.
Une nouvelle fois merci :) ca fonctionne parfaitement. Je te souhaite une bonne et heureuse année 2007 :pouce: