Rechercher : dans
Par :

Formulaires HTML/PHP - ajouter une ligne

Dernière réponse le 27 oct 2009 à 16:11:09 Richard, le 18 déc 2002 à 09:50:15 
 Signaler ce message aux modérateurs

J'ai créé un formulaire pour une page Web, et je voudrais que lorsqu'on clique sur un bouton ajouter à droite d'un champ de texte (INPUT type="text"....), un champ de texte supplémentaire s'ajoute au-dessous du premier, etc... Cela permet d'ajouter si nécessaire un nombre indéfini de champs de texte. Suis-je obligé lorsqu'un bouton "ajouter" est cliqué de regénérer un nouveau formulaire ou non ?
Merci pour votre aide...

Meilleures réponses pour « Formulaires HTML/PHP ajouter une ligne » dans :
PHP - Récupération de données Voir PHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Javascript - Effacer un champ de formulaire lors du clic (focus) VoirIl vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...

1

JEROMAX, le 18 déc 2002 à 10:09:41

Pour ne pas te prendre la tête, tu créé une dizaine de champ vide invisible, que tu rend visible un par un au fur et à mesure des clic.
Utilise plutôt "display" que "visible" d'ailleurs.

[ JEROMAX ] http://www.jeromax.free.fr

Répondre à JEROMAX

2

Bobinours, le 18 déc 2002 à 20:24:21

Salut,
Tu n'es pas obligé de recharger la page pour cela. Il faut alors que tu utilises du DHTML (et les DOM).

Place ton input dans un <DIV> que tu modifieras à l'aide de la fonction innerHTML. Utilise une variable globale pour faire un compteur du nombre d'INPUT afin de leur donner un nom incrémentiel :

cpt_input = 1;

function ajout_input()
{
cpt_input++;
text = '<input type="texte" name="test'+ cpt_input + '">';
document.getElementById("les_inputs").innerHTML =+ text;
}

<div id="les_inputs"><input type="texte" name="test1"></div>

A tester et à améliorer...

Ceci n'est pas compatible NS4 et IE4 (c'est possible, mais demande plus d'effort).

-= Bobinours =-

Répondre à Bobinours

3

A'Gain, le 18 déc 2002 à 21:33:25

Une petite fonction toute simple qui te permet d'inserer des inputs dynamiquement dans un formulaire.

<script language=javascript>
function fAddInput(txtType, txtName, txtId, txtValue)
{
var newInput= document.createElement("INPUT");
newInput.value=txtValue;
newInput.name= txtName;
newInput.id= txtId;
newInput.type = txtType;
var frm = document.forms[0];
window.frm.appendChild(newInput);
}
fAddInput("button","btnEssai","btnEssai", "Valider");

</script>

Tu peux insérer ton input, dans pas mal d'objets (Form, DIV, TR , ...)

function fAddInput(txtType, txtName, txtId, txtValue, objParent)
{
var newInput= document.createElement("INPUT");
newInput.value=txtValue;
newInput.name= txtName;
newInput.id= txtId;
newInput.type = txtType;
objParent.appendChild(newInput);
}
fAddInput("button","btnEssai","btnEssai", "Valider", objDiv);

Répondre à A'Gain

4

Bobinours, le 18 déc 2002 à 21:37:04

Nettement plus propre.

-= Bobinours =-

Répondre à Bobinours

5

kalamit, le 18 déc 2002 à 21:39:31

Et en php exclusif, il est obligé de rafraichir ?

Kalamit,
Je ponce donc j'essuie

Répondre à kalamit

6

Bobinours, le 18 déc 2002 à 22:31:07

Euh... Oui.

-= Bobinours =-

Répondre à Bobinours

7

kalamit, le 18 déc 2002 à 22:51:05

Bien ce qu'il me semblait...

Kalamit,
Je ponce donc j'essuie

Répondre à kalamit

8

JEROMAX, le 19 déc 2002 à 09:42:35

ça veut dire quoi "php exclusif" ?
(parce que je n'ai pas vu de php...)

[ JEROMAX ] http://www.jeromax.free.fr

Répondre à JEROMAX

9

kalamit, le 19 déc 2002 à 09:52:11

Bah je voulais dire par la, "uniquement en php". Les languages de script coté client ont une facheuse tendance à s'executer differement sur chaque navigateur...

Kalamit,
Je ponce donc j'essuie

Répondre à kalamit

10

Richard, le 19 déc 2002 à 15:46:38

Merci à tous pour votre aide. Je débute alors c'est pas facile. J'aimerais cependant ne pas mettre de JAVA dans mes pages, seulement du HTML et PHP. Je crée une interface sous forme de pages Web destinées à être le plus compatibles possibles avec tous les environnements...

Ah au fait, j'ai autre chose à vous demander : j'ai créé un formulaire html qui envoie les variables à une page en .php. Le problème c'est que cette page envoie à une autre page .php mais les variables entrées dans la 1ère page ne sont alors plus disponibles !... Je dois déclarer les variables en GLOBAL ou quoi ? Merci encore

Répondre à Richard

11

Bobinours, le 19 déc 2002 à 16:23:44

!!!!! ATTENTION !!!!!
Ne mélange pas JAVA et JavaScript. C'est au JavaScript que tu fais allusion. Le JAVA n'a rien à voir. C'est un langage à part. Regarde sur ce site pour voir la différence.

Pour concerver des informations de pages en pages, ce n'est pas évident. Il y a plusieurs solutions : Les Cookies, Les sessions PHP et les champs de formulaires cachés.

Pour la dernière, il faut que tu crées autant de <INPUT type="hidden" name="nomDuCahmp" value="$valueDuChamp"> en récupérant les valeurs grace à PHP.
Elles seront alors retransmises à la page suivante.

-= Bobinours =-

Répondre à Bobinours

12

charliepben, le 12 jui 2007 à 17:41:24

Bonjour, je relance le sujet 5 ans plus tard!

Je suis très intéressé par cette fonction, mais je n'arrive pas à m'en servir,

""""
window.frm has no properties
[Break on this error] window.frm.appendChild(newInput);
""""
quelqu'un peut-il mettre un exemple de code html avec un boutton qui ajouterai un nouvel input SVP?

merci bcp par avance !

Répondre à charliepben

13

Tiller, le 12 jui 2007 à 20:50:39

Primo) C'est pas malin de faire renaitre un topic qui date de y'a 5ans
Secondo) Pas la peine de s'en vanté °°
Tercio) Deux code on été donnée et ils marchent parfaitement, a toi de les adaptés.

Répondre à Tiller

15

charliepben, le 13 jui 2007 à 10:08:24
  • +4

Oulalalaaa faut s'calmer tout de suite mon p'tit !

"Primo) " C'est pas parce que ce topic date d'il y a 5 ans que nous sommes tous censé savoir utiliser le code fourni sans problème !!!!
"Secondo) " Je ne me suis vanté de rien
"Tercio) " Je n'ai jamais dis que les codes donnés ne marchaient pas, j'ai fait comprendre que je n'arrivais pas à les utiliser!

Si t'es un gros débile de Troll qui connait tout sur tout du monde tant mieu pour toi... Mais accepte que d'autre ne soit pas si "malin"

Répondre à charliepben

14

Bobinours, le 12 jui 2007 à 23:36:42

Tout à fait d'accord avec Tiller. C'est scandaleux de faire resurgir un vieux post du forum. La mort est encore trop douce pour des gens de ton espèce.

Ceci étant dit, Le code d'A'Gain semble tout à fait correct. Il est simplement incomplet. As-tu mis l'ensemble de son code dans ta page et particulièrement la ligne :
var frm = document.forms[0];
Si oui, as-tu défini une balise <form> dans ta page ?
La ligne précédente récupère les informations du premier formulaire présent dans ta page HTML, hors ton message d'erreur semble indiquer qu'il n'en trouver aucun.

N'hésite pas à montrer l'ensemble de ton code si ça ne fonctionne toujours pas.


PS : Passe au bureau de la comptabilité pour prendre ton chèque... -= Bobinours =-

Répondre à Bobinours

16

charliepben, le 13 jui 2007 à 10:18:07

Oui oui merci je suis un gros con qui mérite la mort je sais j'ai compri,

BREF

mon code donne ça:

<html>
<head>
<script language=javascript> 
function fAddInput(txtType, txtName, txtId, txtValue) 
{ 
var newInput= document.createElement("INPUT"); 
newInput.value=txtValue; 
newInput.name= txtName; 
newInput.id= txtId; 
newInput.type = txtType; 
var frm = document.forms[0]; 
window.frm.appendChild(newInput); 
} 
</script>
</head>
<body>

<form>
<input value="Ajouter"  type="button" onclick='fAddInput("text","btnEssai","btnEssai", "Valider");'/>
</form>

</body>
</html>


...
Auriez-vous une idée?

Répondre à charliepben

19

Bobinours, le 13 jui 2007 à 21:12:25

Euh... En ce qui me concerne, je plaisantais, hein ^^'
Il me semblait que le ton était suffisamment ironique, mais spagrave. -= Bobinours =-

Répondre à Bobinours

17

Tiller, le 13 jui 2007 à 15:57:35

<html>
<head>
<script language=javascript> 
function fAddInput(txtType, txtName, txtId, txtValue) 
{ 
var newInput= document.createElement("INPUT"); 
newInput.value=txtValue; 
newInput.name= txtName; 
newInput.id= txtId; 
newInput.type = txtType; 
document.getElementById('mon_formulaire').appendChild(newInput); 
} 
</script>
</head>
<body>

<form id="mon_formulaire">
<input value="Ajouter"  type="button" onclick='fAddInput("text","btnEssai","btnEssai", "Valider");'/>
</form>

</body>
</html>


Je l'ai test en local sa marche parfaitement, maintenant laissons reposé se topic en paix~

Et je ne t'ai ni traité de con ni de rien alors me traite pas d'imbecile de troll sinon on va pas etre pote~

Répondre à Tiller

18

charliepben, le 13 jui 2007 à 19:20:06

"Primo", Apprends à parler français, tes fautes d'orthographe c'est "relou".
"ça marche", "reposer", et les accents c'est géré maintenant, l'ASCII c'est dépassé ;

Ensuite NON on va pas être potes,

et tu restes un imbécile de Troll...

++ rhmal

Répondre à charliepben

20

guismo69, le 13 jui 2007 à 21:56:06

Des trolls ? ou ca des trolls ?

ZUT il y a un t devant ce n'est pas des rolls dommage, ne vous prenez pas la tete ne n'est pas le lieu pour cela

ne le prenez pas mal surtout c'etait pour refaire baisser la tension
faut bien debuter un jour !!! lol 

Répondre à guismo69

21

Tiller, le 14 jui 2007 à 11:37:12

Et beh sa fait plaisir d'aider de cons comme ça °°

Répondre à Tiller

22

davyk, le 11 mai 2009 à 19:55:58
  • +5

Alors le plus con des deux ,c'est sûrement toi

arrête de te la péter petit con

c'est pas parce que tu en sais plus que lui qu'il faut le descendre!

en d'autres mots, aurai-je l'outrecuidance de vous demander de bien vouloir aller vous faire sodomiser.

bien cordialement, vYk

Répondre à davyk

23

123, le 27 oct 2009 à 11:47:41

Lol, 2 ans après :p

Répondre à 123

24

 davyk, le 27 oct 2009 à 16:11:09

C'est le topic du phoenix, celui qui renaît de ses cendres lol

Répondre à davyk