IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajouter des champs à un formulaire via un bouton


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 12
    Par défaut Ajouter des champs à un formulaire via un bouton
    Bonjour,

    Je voudrais pouvoir ajouter un champs dans un formulaire via un bouton. Je m'explique :

    J'ai un formulaire avec un champ qui peux avoir plusieurs valeurs je dois faire une requete sql en fonction des valeurs qu'on m'a mis dans mon champs (ce champs va contenir la valeur du where de ma futur requete) seulement dans une requete sql on peut mettre plusieurs critères dans le where => Ce champ doit pouvoir prendre plusieurs valeurs.

    Je pourrais mettre 10 champs l'un derrière l'autre et ignorer ceux qui sont vides mais c'est pas joli du tout...

    Je voudrais donc faire cela dynamiquement : J'aurais mon champ avec un bouton "+" a coté et si je clique sur ce bouton, il me remettrais un nouveau champ en dessous du précédent en décallant les autres champs et boutons qui suivent aussi vers le bas et ainsi de suite... Je pourrais ainsi avoir un nbre variable de ce champ.

    dans ma page suivante, je regarderais combien de champs j'ai et je ferais une boucle du style (PSEUDO-CODE):

    TANT QUE (i <= nbrChamps)
    {
    meschamp = meschamp +"," + $_REQUEST[monChamp[i])
    i++;
    }

    J'essaye d'être le plus clair possible mais c pas facile. Si vous avez des questions n'hesitez pas!

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    Salut !

    Tu mets un bouton +, et une action Javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="image" src="plus.gif" alt="" onclick="addField()"/>
    Dans ta fonction Javascript, tu rajoutes un input type="text" à la suite des autres déjà présents (tu nommes une div contenant tous les champs: id="divFields" par exemple).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function addField() {
         var field = "<input type='text' name='' value=''/>";
         document.getElementById('divFields').innerHtml += field;
    }
    Pour le name du field ajouté, tu comptes le nombre de champs textes déjà présents dans le divFields (X), tu ajoutes 1 à ce nombre et tu nommes ton nouveau champ (par exemple) : "field"+(X+1)

  3. #3
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Ou de façon un peu plus PHP car javascript hum ... c'est nul

    Tu peux toujours crée une fonction qui affiche le formulaire, une qui le vérifie et une qui le traite.
    En gardant les données pour construire ton form dans un tableau ca ne doit pas être très dur.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    Javascript, nul ?

    Sur cet exemple là, Javascript va éviter de recharger la page pour ajouter un champ, sans envoyer des variables qui indiqueraient un ajout. Bref gain de temps et de mémoire.

    Je sais que Javascript c'est pas top niveau rigueur du langage, mais bon c'est bien utile dans des moments comme ca.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 12
    Par défaut
    Salut,

    Merci bcp pour les réponses, je vais essayer avec javascript meme si je suis pas une bete mais je vous tiens au courant....

  6. #6
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    le probleme de javascript c'est qu'il ne faut JAMAIS compter sur lui pour une fonction essentielle d'une page, a moins d'avoir l'autorité necessaire sur l'utilisateur pour l'obliger a l'activer.

    Le javascript peut etre désactivé. Il ne faut pas l'oublier.

    Pour gerer ca en php, il suffit de nommer tes input :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...name="variable[1]"...
    ...name="variable[2]"...
    ...name="variable[3]"...
    et $_POST['variable'] sera un tableau indexé

    Ensuite tu n'a plus qu'a gerer la construction de ton formulaire en php, et lorsqu'on clic sur "+ ligne", tu fait un count($_POST['variable']) pour construire une ligne de plus.

Discussions similaires

  1. Ajouter des champs dans un formulaire.
    Par Invité dans le forum ASP.NET
    Réponses: 19
    Dernier message: 08/11/2007, 11h20
  2. Ajouter des champs à un formulaire via un bouton
    Par Stass dans le forum Langage
    Réponses: 11
    Dernier message: 08/09/2006, 18h02
  3. Ajouter des champs a un formulaire via un bouton
    Par Stass dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/09/2006, 14h59
  4. Ajouter des champs dans un formulaire
    Par Luffy Duck dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2006, 11h30
  5. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo