Page 1 sur 1

compteur pour input dynamique

Posté : 30 déc. 2006, 00:09
par florie
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 :)

Posté : 30 déc. 2006, 00:26
par Xenon_54
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']

Posté : 31 déc. 2006, 01:13
par Florie
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:

Posté : 31 déc. 2006, 01:49
par Xenon_54
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>

Posté : 31 déc. 2006, 16:42
par Florie
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:

Posté : 31 déc. 2006, 18:14
par Xenon_54
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.

Posté : 02 janv. 2007, 17:38
par Florie
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: