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

JavaScript Discussion :

creer un input en javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut creer un input en javascript
    bonjour a tous, pour mon site j'ai besoin de creer des input au moment du clic sur un bouton ajouter ça c'est fait j'arrive a le faire mais apres j'ai besoin de recuperer le code des nouveaux elements et le mettre dnas un fichier mais je ne sias pas ou je peux le recuperer je pense que les input sont crées que pendnat que la page est ouverte !!?

    est ce que quelcun pourait m'aider ????

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    S.V.P. reformule ta question en quelques phrases courtes et claires. Je ne peux pas t'aider car je ne comprends pas ce que tu veux.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    bonsoir, je reformule ma question :
    dans ma page j'ai un bouton que j'ai appelé :ajouter, il me sert a rajouter des elements input dans la page a chaque fois qu'on click sur le bouton (ça c'est la premiere etape ça c fait)
    j'ai besoin de recupérer le code des differents input ajoutés et de le mettre dans un fichier (ce que je n'arrive pas a faire c'est recupérer le code )
    et j'ai besoin aussi d'avoir un autre bouton: supprimer qui me permettera de supprimer des elments input en cas de besoin ?
    voila j'espere que cette fois j'ai été un peu plus claire

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Oui, c'est clair cette fois

    Il faudrait que tu nous indique la méthode que tu utilise pour ajouter tes inputs. Le reste en découle.

    Par exemple, si tu utilise quelque chose du genre pour ajouter tes inputs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    oInput = document.createElement('input'); //on crée l'élément (la balise) input
    oInput.id = 'input1'; //on définit l'attribut id du input
    oForm = document.getElementById('formulaire1'); //on récupère le noeud formulaire
    oForm.appendChild(oInput );//on place le input dans le formulaire
    Pour récupérer la valeur du champ, il te suffit alors d'utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oInput = document.getElementById('input1');
    alert(oInput.value);
    Tu peux supprimer ton input à l'aide de la méthode removeChild du DOM.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    oForm = document.getElementById('formulaire1'); //on récupère le noeud formulaire
    oInput = document.getElementById('input1'); //on récupère le noeud input
    oForm.removeChild(oInput) //on retire le input
    Dans certains cas, ceci peut aussi faire l'affaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oForm = document.getElementById('formulaire1');
    oForm.removeChild(oForm.lastChild());
    Envoie-nous ton code s.v.p., ça va nous permettre de te répondre encore plus spécifiquement.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Peut être parce que javascript n'est pas fait pour ça ?
    Javascript ne sait pas enregistrer, sauvergarder...
    Tu devras passer par un langage serveur pour cela

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // fonction pour ajouter 
    var form = document.getElementById("form"); //le noeud parent
    var input = document.createElement('input');  //creation de l'element
    // les attributs nom et type 
    input.setAttribute('name','menu'+i);
    input.setAttribute('type','text');
     
    form.appendChild(input);
    voila mais pour supprimer ????

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    salut SpaceFrog tu as raison pour la sauvegarde j'utiliserais php mais avant ça je dois arriver a ajouter et supprimer des input
    apres je dois mettre les valeurs des inputs dans des variable javascript et les utiliser en php !! (je sias que c'est tiré par les cheuveux mais bon !!!)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    // fonction pour ajouter
    var form = document.getElementById("form"); //le noeud parent
    var input = document.createElement('input'); //creation de l'element
    // les attributs nom et type
    input.setAttribute('name','menu'+i);
    input.setAttribute('type','text');

    form.appendChild(input);
    voila mais pour supprimer ???
    Pour les supprimer, tu récupères le noeud parent (que tu as nommé "form"), puis tu supprime son dernier enfant (le input que tu as créé):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oForm = document.getElementById("form");
    oForm.removeChild(oForm.lastChild());

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par pitichamo Voir le message
    salut SpaceFrog tu as raison pour la sauvegarde j'utiliserais php mais avant ça je dois arriver a ajouter et supprimer des input
    apres je dois mettre les valeurs des inputs dans des variable javascript et les utiliser en php !! (je sias que c'est tiré par les cheuveux mais bon !!!)
    Te faut-il vraiment passer par javascript? Parce que sinon, une simple soumission de formulaire pourrait faire l'affaire.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    je ne suis pas sur de devoir passer par javascript mais cella dit je viens juste de trouver ma solution pour l'ajout et la suppression donc il reste a recuperer les differentes valeur dans des variable javascript et les utiliser dans des variable php
    quelcun pour m'aider ????

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Pour passer le tout à PHP, il faut soumettre le formulaire (avec un input de type submit) à une page PHP défini dans l'attribut action du formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="post" action="page.php">
      [tes autres inputs ici]
      <input type="submit" value="OK" />
    </form>
    Ensuite dans ta page PHP, il te suffit de consulter les variables à partir de la variable superglobale $_POST

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    salut grafik.muzik, j'ai essayé de faire se que tu as dis mais ça ne marche pas je ne sias vraiment pas comment faire !

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Voici un exemple réduit aux éléments minimum:

    page1.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="post" action="page2.php">
    	<input type="input" name="menu1" value="Texte entré par l'utilisateur" />
    	<input type="submit" value="OK" />
    </form>
    page2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
            echo $_POST['menu1'];
    ?>

    Les deux pages doivent être dans le même répertoire. Lorsque tu cliques sur le bouton situé dans page1.html, le serveur envoie ta variable à la page2.php. page2.php écrit ensuite la variable dans la page.

    Bien sûr, dans la pratique, il faut filtrer les variables du côté de PHP, question de sécurité.

    Dans ton cas à toi, les input de page1.html ne sont pas écrit directement dans la page, il sont générés avec du javascript. Comme le nombre de variables envoyé à PHP est variable, il te faudra surement utiliser une boucle for et une boucle foreach pour récupérer les valeurs du côté de PHP.

  15. #15
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par grafik.muzik Voir le message
    Te faut-il vraiment passer par javascript? Parce que sinon, une simple soumission de formulaire pourrait faire l'affaire.
    Attention, les input générés ne seront pas soumis avec IE qui ne reconnait pas ce genre d'ajout dynamique de l'attribut name.
    Voir à ce sujet les contributions.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 123
    Points : 111
    Points
    111
    Par défaut
    Attention, les input générés ne seront pas soumis avec IE qui ne reconnait pas ce genre d'ajout dynamique de l'attribut name.
    Hum, c'est bien vrai:
    Dans Internet Explorer, la propriété name des objets DOM créés à l'aide de createElement ne peut être définie ou modifiée. (mdc)
    La solution la plus simple serait donc de générer l'élément avec une méthode de Microsoft, par exemple, un innerHTML?

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    merci a tous j'ai fini par trouvé j'ai utilisé un input de type hidden pour recupere la variable de javascript
    c'etait pas aussi compliqué enfin de compte

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Oui ça sert à quoi que le grenouille elle se décarcasse ?

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 55
    Points
    55
    Par défaut
    resumons la situation on a un formulaire avec un bouton AJOUTER un input, un bouton supprimer un input , et un pour VALIDER
    pour l'ajout des input on a fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //code javascript
    i=1;
    var form = document.getElementById("form"); //le noeud parent
     
    var input = document.createElement('input');  //creation de l'element
    input.setAttribute('id','menu'+i)
    input.setAttribute('type','text');
    form.appendChild(input);
     
    var inputHidden = document.createElement('input');  //creation de l'element
    inputHidden.setAttribute('id','id'+i)
    inputHidden.setAttribute('type','hidden');
    form.appendChild(inputHidden);
    i++;

    pour SUPPRIMER des input on a fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //code javascript
    var input = document.getElementById('menu'+i);
    input.parentNode.removeChild(input);
     
    var inputHidden=document.getElementById('id'+i);
    inputHidden.parentNode.removeChild(inputHidden);
    i--;
    apres pour RECUPERER les valeur on utilise du php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /*php code*/
    if (isset($_POST['id'.$i]))
    {
    $tab=$_POST['item'.$i];
    echo $tab;}
    la valeur de chaque input crée est recupérée grace à son id.

    maintenant j'ai besoin de faire une sauvegarde du code apres la creation des input c'est possible ça ??

Discussions similaires

  1. [Prototype] Créer un input type file quand je clique sur un lien
    Par movemedia dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 22/04/2008, 10h58
  2. Comportement balise input et javascript
    Par error404 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/11/2007, 00h43
  3. Checkbox, php modification de plusieur champ input via javascript
    Par alx92 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/08/2007, 16h08
  4. creer u fenetre en javascript
    Par kespy13 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/04/2006, 10h16

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