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
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
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 ...![]()
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']
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager