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 :

[DOM] Créer <input> avec un type != "text"


Sujet :

JavaScript

  1. #1
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut [DOM] Créer <input> avec un type != "text"


    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
        <head>
            <script type="text/javascript">
            function init() {
                formulaire = document.getElementById('form');
                formulaire.appendChild(btn = document.createElement('input'));
                alert(btn.type);
                btn['type'] = 'submit';
                //btn.type  = 'submit';
                btn.value = 'go';
                btn.onclick = function (evt) {
                    this.disabled = 'disabled';
                    return true;
                }
            }
            </script>
        </head>
        <body onload="init()">
            <form action="http://www.google.fr/search" method="get" id="form">
            </form>
        </body>
    </html>
    Sous Fx, nickel.
    Sous IE ca merdouille, il me met "Could not get the type property. This command is not supported." sur la ligne qui change le type de mon bouton.


    Quelqu'un dans l'assistance saurait-il me dire comment générer un input type="submit" via js sous Fx et IE ?

    Merci d'avance !

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: [DOM] Créer <input> avec un type != "text&
    Citation Envoyé par Mr N.
    Sous Fx, nickel.
    Sous IE ca merdouille, il me met "Could not get the type property. This command is not supported." sur la ligne qui change le type de mon bouton.


    Quelqu'un dans l'assistance saurait-il me dire comment générer un input type="submit" via js sous Fx et IE ?

    Merci d'avance !
    1- Ne jamais appeller (name) ou identifier (id) un élement par un nom reservé (typiquement form).
    2- Je te conseille de créer ton bouton en deux étapes, je ne suis pas sur que ta syntaxe en une seule étape soit acceptable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    btn = document.createElement('input');
    ...
    3- J'insérerais l'input dans le document après en avoir définit toutes les propriétés (en dernier, quoi).

    Si ça marche toujours:
    Spafy a surement des idées sur le sujet.

    Sinon, il faudra utiliser la syntaxe IE pour créer un élément DOM....

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    avec un id "f" au formulaire, ça donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    formulaire = document.getElementById("f"); 
    	btn = document.createElement("input")
            btn.type  = "submit"; 
            btn.value = "go"; 
            formulaire.onsubmit = function () { 
                    btn.disabled = true; 
            };
    	formulaire.appendChild(btn);

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Merci pour cette réponse.

    1. l'id 'form' est juste pour l'exemple.
    2. Ca marche pour le reste de mon code et je ne vois pas en quoi c'est innacceptable, mise à part la lisibilité du code, mais ça j'en fait mon affaire.
    3. Là j'ai simplifié, mais en fait je construit tout un formulaire dynamiquement, est le forumlaire est ajouté à la fin au document. Donc ses fils aussi par la même occasion.


    En fait j'ai besoin d'un bouton qui soumet un formulaire quand je le clique mais qui se désactive et fait d'autres petites choses avant de soumettre le dit formulaire.
    J'ai essayé avec <button> et ca marche sur IE et Fx 1.0.x mais pas sur 1.5.x
    Je veux essayer avec <input type="submit"> mais IE ne veux pas créer mon bouton...

    javatwister ton code passe sous IE ? sympa, j'avais pas penser au onsubmit

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    ben le code est valide donc il passera partout...


    onsubmit va de soi quand l'utilisateur clique sur un bouton "submit";

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut Re: [DOM] Créer <input> avec un type != "text&
    Citation Envoyé par denisC
    3- J'insérerais l'input dans le document après en avoir définit toutes les propriétés (en dernier, quoi).
    Alors là je suis sur confus
    C'est à cause de ça que ça marchait pas !!!

    Merci les gars !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer un <input type="file"> ?
    Par Bobtop dans le forum Zend_Form
    Réponses: 2
    Dernier message: 14/05/2008, 16h44
  2. [DOM] Php5 : créer un fichier xml avec Dom
    Par devadh dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/01/2007, 14h04
  3. [DOM] Créer INPUT dans une cellule
    Par Arnaud F. dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/12/2006, 10h03
  4. [DOM] DOM afficher un input avec du texte dedans
    Par NeHuS dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/01/2006, 22h41

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