Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Comment inserer dynamiquement un champ input [ JavaScript Orienté objet (POO) / Function & Méthodes ] (Jarod1980)

vendredi 17 août 2007 à 09:56:19 | Comment inserer dynamiquement un champ input

Jarod1980

Bonjour,
Je voudrais savoir comment peut on insérer dynamiquement des champs input type texte dans une page. Sachant que chaque champ input text doit avoir un id différent afin que je puisse récupérer leurs valeurs dans une table mysql avec du php. J'ai testé une solution en php pour pouvoir générer dynamiquement ces champs mais ma page je recharge donc du coup j'ai essayé une solution javascript, mais mon code me retourne une valeur NaN lorsque je clique sur ajouter. Est ce que quelqu'un peut m'aider ?
Merci.

<html>
<head>
<script language=javascript>
cpt_input = 1;

function ajout_input()
{
cpt_input++;
var text = '<input type="texte" name="test'+ cpt_input + '">';
document.getElementById("inputs").innerHTML =+ text;
}
</script>
</head>
<body>

<div id="inputs"><input type="texte" name="test1"></div>
<input type="button" value="Ajouter" onclick="ajout_input();"/>
</body>
</html>

Jarod_Delaware


vendredi 17 août 2007 à 10:22:52 | Re : Comment inserer dynamiquement un champ input

bultez

Membre Club




Bonjour,


   += et non pas =+

document.getElementById("inputs").innerHTML += text; 

   remarque : tu ne met pas ID= mais name= ??
   ça ne fonctionnera que son IE ( IE sait replacer un
      ID manquant par son name, pas FF par exemple )
   php, par contre ne récupère effectivement que les value des 
      champs qui ont un name.

   met donc comme <input name="toto[]" id="toto"+indice...
   PHP récupérera un Array ( toto ), on peut gérer coté javascript
      soit par document.getElementById("toto"+numero)
      soit par document.name_du_formulaire["toto[]"][numero]
            ( attention à la syntaxe : pas de . )
   




            Cordialement          Bul       [
mon Site ]    [ M'écrire ]

Généralement, c'est absurde de généraliser.

/html>

vendredi 17 août 2007 à 10:26:35 | Re : Comment inserer dynamiquement un champ input

bultez

Membre Club




encore une remarque...
   inerHTML est très pratique, mais si on ajoute
      de nombreux champs les performances se dégradent.

      dans ce cas, il vaut mieux utiliser : createElement et appendChild.


                  Cordialement          Bul       [
mon Site ]    [ M'écrire ]
                                                         Généralement, c'est absurde de généraliser.
/html>

vendredi 17 août 2007 à 11:08:12 | Re : Comment inserer dynamiquement un champ input

Jarod1980

Salut,
Merci pour toutes ces précisions. Je vais tester ce que tu m'as marqué. Je te tiens au courant.
Encore merci pour l'aide.

Jarod_Delaware

vendredi 17 août 2007 à 12:17:38 | Re : Comment inserer dynamiquement un champ input

Jarod1980

Juste une petite question, lorsque je fais un test pour voir si j'arrive à récupérer la valeur dans un des champs input ça me génère une erreur. J'ai fais ce test parce que dans mon script php j'insère des champs vide dans ma bdd.

<script language=javascript>
cpt_input = 1;

function ajout_input()
{
cpt_input++;

var text = '<input type="texte" name="test' + cpt_input + 'id="test' + cpt_input +'">&nbsp;<input type="text" name="tst"'+cpt_input+'id="tst'+cpt_input +'"><br/>';

document.getElementById("inputs").innerHTML += text;
alert('name="test' + cpt_input+'"');
}
</script>
</head>
<body>
<form name="frm">
<div id="inputs"></div>
<input type="button" value="Ajouter" onclick="ajout_input();"/>
<input type="button" value="Voir champs_1" onclick="alert(document.test2.value);"/>
</form>

Jarod_Delaware


vendredi 17 août 2007 à 12:49:20 | Re : Comment inserer dynamiquement un champ input

bultez

Membre Club





de ch'tites erreurs.

__ il manque une " dans le name et c'est text pas texte
       ...'<input type="text" name="test' + cpt_input + '" id="test' + cpt_input +'">&nbsp;...

__ l'input fait partie du formulaire
       ...alert(document.frm.test2.value);...


Cordialement                Bul     [mon Site]     [M'écrire]

En général, c'est absurde de généraliser.

vendredi 17 août 2007 à 13:37:01 | Re : Comment inserer dynamiquement un champ input

Jarod1980

Super, ça marche nickel. Décidement, je fais plein d'erreurs de syntaxes... Merci beaucoup Bultez pour ton aide.

Jarod_Delaware

vendredi 17 août 2007 à 14:28:39 | Re : Comment inserer dynamiquement un champ input

bultez

Membre Club




>>je fais plein d'erreurs de syntaxes
    si ça peut te rassurer... tu n'es pas le seul !
    des erreurs de syntaxe ou autres tout le monde en fait
       essaye les soit disant validateurs w3c ;-)) par exemple, tu vas rire...
    le tout, c'est de trouver, de rectifier, de faire marcher...

    tu connais le proverbe : il n'y a que celui qui ne fait rien qui ne fait pas de conneries.
       j'essaye de faire le moins de conneries possibles...
       pour être clair : j'essaye d'en faire le moins possible !


Cordialement            Bul     [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.

vendredi 17 août 2007 à 15:44:01 | Re : Comment inserer dynamiquement un champ input

Jarod1980

lol, c'est vrai tu as tout à fait raison. Je te remercie pour ton aide, j'avance à petit pas. Mon problème est quasi réglé. Il faut juste que je trouve le moyen de savoir combien de champ input ont été insérer dans la page pour pouvoir faire une boucle lors de l'insertion de toutes les valeurs dans ma BDD.

@+

Jarod_Delaware

vendredi 17 août 2007 à 16:20:00 | Re : Comment inserer dynamiquement un champ input

bultez

Membre Club
>>il faut juste que je trouve le moyen de savoir combien de champ input ont été inséré
met un name "toto[]"            avec crochets
php récupérera un array, donc on connait directement le nombre coté serveur

Cordialement                Bul         [mon Site]     [M'écrire]
En général, c'est absurde de généraliser.


1 2

Cette discussion est classé dans : input, text, champ, inserer, dynamiquement


Répondre à ce message

Sujets en rapport avec ce message

Ajout automatique d'un champ de texte selon choix d'un menu déroulant [ par rEvOhSaLf ] Salut le monde :)Je suis entrain de faire un petit formulaire qui me fait un peu peiner...J'ai que une select box avec 5 choix:Choix 1 ="1"Choix 2 ="2 Comment placer le curseur texte dans le bon input [ par Jarod1980 ] Bonjour tout le monde,Ma question est simple, j'ai plusieurs champ input de type text sur ma page. Je voudrais lorsque ma pagese charge que le curseur récupérer la valeur d'un champ input pour la traiter en php ou autre solution ?? [ par didine6 ] Bonjour,Voici mon problème.J'ai un champ input avec date de naissance et un champ age.Je voudrais que à la sortie du champ input, le champ âge soit ca Comment annuler la touche enter uniquement que dans un champ input text [ par Jarod1980 ] Bonjour,Je voudrais savoir si il est possible d'annuler la touche enter dans un champ input bien précis et pas dans mon champ textarea. J'ai essayé valeur champ input [ par Songeur ] Bonjour à toutes et tousje vous expose mon problèmej'ai un questionnaire (formulaire) contenant 20 champs de type input...je souhaiterai qu'en cliquan Selectio des 2 premiers caracteres d'un champ input text [ par tom6666 ] Salut à tous.Je ne suis pas très familier avec javascript et j'aimerais qu'a l'évènement onFocus sur un les 2 premiers caractère s soient sélectionné array et input [ par ahcorad ] Bonjour !Je demande de l'aide sur un petit truc :en fait j'ai un formulaire avec un champ de texte caché et je voudrais que ce champ est en valeur par faire sauter le curseul d'un input text vers le suivant [ par kgadhi ] Bonjour tout le monde et merci pour votre aide,Je cherche un moyen de faire passer le curseur d'un input text à un autre mais automatiquement,j'ai réc changer de champ "input" [ par fifi_pipo ] bonjour,je voudrais savoir s'il est possible de changer de champs "input" automatiquement.je m'explique un peu mieu, c'est a dire que j'ai un formulai Nom image à inserer [ par cathy9999 ] Bonjour, Dans un formulaire qui a un champ qui permet d'uploader plusieurs fichiers, j'aimerais mettre un bouton "inserer" a coté de celui ci pour qu'


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.