Ajouter champs text dynamiquement

Bonjour,
je cherche un truc en javascript pour ajouter des champs text l'un au dessus de l'autres selon le choix de l'utilisateur.
je vous remercie.
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. Salut, bon ben c'est pas trop dur regarde l'exemple suivant.
    <html>
    	<head>
    	<script type="text/javascript">
    		function create()
    		{
    			var compteur = document.getElementById('compteur');
    			var fields = document.getElementById('fields');
    			var error = document.getElementById('error');
    			if(compteur.value < 9)
    			{
    				++compteur.value;
    				fields.innerHTML += "<input type='text' name='text" + compteur.value + "' value='Champ numéro " + compteur.value + "' /><br />";
    			}
    			else
    			{
    				error.innerHTML = "<font color=red>Vous ne pouvez pas avoir plus de 9 champs</font>";
    			}
    		}
    	</script>
    	</head>
    	<body>
    	<div onclick="create()" style="cursor:pointer; text-decoration: underline;">Ajouter un champ texte</div>
    	<br />
    	<form action="#" method="post" id="fields">
    		<input type="text" name="text1" value="Champ numéro 1" />
    		<br />
    	</form>
    	<div id="error" style="color: red; font-weight: bold"></div>
    	<input type="hidden" id="compteur" value="1" />
    	</body>
    </html>
    


    Bon, ceci est un petit code qui permet d'ajouter des champs texte, j'ai fixé une taille limite a 9 champs texte. Le code est simple est paramètrable.

    A+

    Gaerebut
    1. En fait, tu veux qu'à chaque fois que tu ajoutes un champ, le champ précédent passe en dessous pour ne laisser en premier que le champ vide. Est-ce cela ?
      1. Ha ok !

        J'ai changé juste une ligne mais je remet tout quand même :

        <html>
        	<head>
        	<script type="text/javascript">
        		function create()
        		{
        			var compteur = document.getElementById('compteur');
        			var fields = document.getElementById('fields');
        			var error = document.getElementById('error');
        			if(compteur.value < 9)
        			{
        				++compteur.value;
        				fields.innerHTML = "<input type='text' name='text" + compteur.value + "' value='Champ numéro " + compteur.value + "' /><br />" + fields.innerHTML;
        			}
        			else
        			{
        				error.innerHTML = "<font color=red>Vous ne pouvez pas avoir plus de 9 champs</font>";
        			}
        		}
        	</script>
        	</head>
        	<body>
        	<div onclick="create()" style="cursor:pointer; text-decoration: underline;">Ajouter un champ texte</div>
        	<br />
        	<form action="#" method="post" id="fields">
        		<input type="text" name="text1" value="Champ numéro 1" />
        		<br />
        	</form>
        	<div id="error" style="color: red; font-weight: bold"></div>
        	<input type="hidden" id="compteur" value="1" />
        	</body>
        </html>


        A+

        Gaerebut