Incrementer value d'un input

Résolu
tonio94 -  
jona303 Messages postés 390 Statut Membre -
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

  1. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    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
    1. tonio94
       
      Super ça fonctionne avec parseInt() :)

      Merci!
      0
    2. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
       
      De rien...
      0
    3. jona303 Messages postés 390 Statut Membre 28
       
      ++ fonctionne en php et en js, de même que +=1
      0
  2. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    Bonsoir :)

    document.getElementById('current_nb').value=document.getElementById('current_nb').value +1;
    1
    1. tonio94
       
      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