salut,
je veux faire un formulaire avec un champ et un bouton une fois introduit une valeur numérique (n) et en appuyant sur le bouton il y aura une création d'un (n) champs texte dans la même page (dans un div par exemple)
merci d'avance
salut,
je veux faire un formulaire avec un champ et un bouton une fois introduit une valeur numérique (n) et en appuyant sur le bouton il y aura une création d'un (n) champs texte dans la même page (dans un div par exemple)
merci d'avance
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Bonjour,
Tu peux faire quelque chose du genre :
et sur le bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function AjouteChamps(nom) { nbre = document.getElementById(nom).value; for( i = 0; i < nbre; i++) { textbox = document.createElement('input'); textbox.setAttribute("type","text" ); textbox.setAttribute("name","champ"+(i+1)); document.getElementById('monDiv').appendChild(textbox); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="button" name="monbouton" onclick="AjouteChamps('idDuTextboxOuEstEcritLaValeur')" />
merci beaucoup
ça marché
poblème résolu
j'ai des doutes sous IE ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part textbox.setAttribute("name","champ"+(i+1));
selon msdn "name attruibute cannot be set at runtime"
autrement dit l'attribut name ne peut etre definit ou modifié dynamiquement
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
A merde, j'avoue l'avoir utiliser qu'une fois pour un truc personnel et comme j'utilise toujours FF j'avais jamais testé sur IE. Après l'avoir testé je confirme. Cela ne marche pas sur IE... Désolé !
On peut toujours se faire un :
et ajouter cela par innerHTML et tant pis pour le DOM
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var input = '<input type="text" name="champ' + (i+1)'" />![]()
pareil ça ne fonctionnera pas, c'est sasn doute d'ailleurs pour cela que je me suis fendu d'un truc "un peu complique" pour palier à cette lacune d'IE ...![]()
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
oui même avec d'autre navigateur comme opera ne marche pas
le truc que l'attribut ne peut être définit ou modifié dynamiquement
donc on peut dire c moitié résolu
ça marche que sur firefox
Je ne comprends pas ce que tu entends par : cela ne passera pas.
Si l'on fait un truc du genre :
Pourquoi cela ne passerait pas ? Après c'est peut être les différences entre les IE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function AjouteChamps(nom) { nbre = document.getElementById(nom).value; var texte = ''; for( i = 0; i < nbre; i++) { text += '<input type="text" name="monChamp' + (i+1) + '" />'; } document.getElementById('maDiv').innerHTML = text; }mais sur IE 7 il m'affiche bien mes textbox.
Merci pour les infos
ils sont affichés mais le name n'est pas forcément prix en compte, et du coup la valuer n'est pas forcément soulise lors du submit du form etcoté serveur tu ne recupères pas tes valeurs $_POST['name'] ou $_GET['name']
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Sauf si
Autrement comment ferait-on pour vérifier le contenu d'un formulaire avant validation?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <form onsubmit="javascript:MaMethod(); return false;"> </form>
on pourrait par exemple utiliser un button et non un submit qui ferait les vérifications et appellerait la méthode submit après.
edit : désolé spacefrog j avais pas vu ta réponse. Merci pour l'information c'est vrai que j'utilise de temps en temps la façon de faire (avec innerHTML) et j'avais jamais remarqué que cela pouvait posé des problèmes mais c'est vrai que la plupart du temps c'était pour des applis perso donc tournant sur FF mais bon... Ben merci beaucoup je vais essayer d'en apprendre plus sur ta méthode qui a priori est la meilleure. Merci![]()
lol je m'y attendais à cette réponse mais j'ai du quitter le PC deux minutes et n'ai pas eu le temps de faire la modif pour marquer la précision avant ta réponse.
C'était juste pour dire qu'il y avait d'autres solutions possibles, même si elle ne sont pas forcement meilleures. tout dépend du contexte.
Partager