Incrementer value d'un input

Résolu/Fermé
tonio94 - 25 oct. 2010 à 18:43
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 - 10 mai 2011 à 14:09
Bonjour,


J'ai besoin de votre aide je n'arrive pas à incrémenter la value d'un input hidden :/

A la base il s'agit d'un formulaire dans lequel je souhaite via un bouton ajouter de nouveaux champs. Sauf que pour pouvoir les récupérer ensuite en php il faut qu'ils aient des noms différents, pour ça je voudrais stocker une valeur qui s'incrémente dans un input hidden.

Voici mon code :

<html>
<head>
<script>
	function addInput()
	{
		
		var newRow = document.getElementById('matable').insertRow(-1);//-1 insère en derniere ligne
			
		var nb = document.getElementById('current_nb').value;
		if (nb == "")
			nb= 1;
		
		var newCell = newRow.insertCell(0);
		newCell.innerHTML = '<i>Nom</i> : <input type = "text"  name = "nom_'+nb+'" value = "">';
		
		newCell = newRow.insertCell(1);
		newCell.innerHTML = '<i>Email</i> : <input type = "text" name = "email_'+nb+'" value = "">';
		
		newCell = newRow.insertCell(2);
		newCell.innerHTML = '<i>Tel</i> : <input type = "text" name = "tel_'+nb+'" value = "">';
			
		newCell = newRow.insertCell(3);
		newCell.innerHTML = '<i>Info</i> : <input type = "text" name = "info_'+nb+'" value = "">';
		
		document.getElementById('current_nb').value = nb++;
	}
</script>
</head>

<body>
<form action="" method="post" id="myform">
<input type="hidden" name="current_nb" id="current_nb" value="">
<table id="matable">
</table>
</form>
<a href="javascript:addInput();"><img src="images/add.png" width="20" align="absmiddle" alt="ajouter un contact" /></a>
</body>
</html>



Les champs sont bien ajoutés dans mon tableau mais la valeur ne s'incrémente pas :/


Merci par avance.

2 réponses

jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
26 oct. 2010 à 13:36
Re

le ++ c est en C, pas en js ou php
document.getElementById('current_nb').value=parseInt(document.getElementById('current_nb').value)+ 1;

Parseint() converti du texte en integer (nombre réel) .. tu as aussi parsefloat() si tu as un nombre avec des virgules ;)
6
Super ça fonctionne avec parseInt() :)

Merci!
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
27 oct. 2010 à 13:28
De rien...
0
jona303 Messages postés 369 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 28 janvier 2013 28
10 mai 2011 à 14:09
++ fonctionne en php et en js, de même que +=1
0
jjsteing Messages postés 1670 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
25 oct. 2010 à 19:49
Bonsoir :)

document.getElementById('current_nb').value=document.getElementById('current_nb').value +1;
1
Ca me donne comme id des champs "nom_11" puis "nom_111", etc...

En fait ça concatène plutôt d'incrémenter.

Et en essayant ça :

document.getElementById('current_nb').value=document.getElementById('current_nb').value++;

Ca ne fonctionne pas :/
0