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 :

action d'un formulaire html


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut action d'un formulaire html
    Bonjour,

    est-il possible que l'action d'un formulaire html soit du js et de récupérer les variables (en js) ?

  2. #2
    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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oui

    mais autant passer par le onsubmit ...

  3. #3
    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
    Euh... non Spaffy, tu ne peux pas mettre de .js dans le action d'un formulaire !
    Parce que si on en croit un de ses précédent post, c'est ça que Laurent essayait de faire...

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Bien noté ; j'essaierai (demain) avec le onsubmit.

  5. #5
    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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    comment Beef ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="javascript:(function(){ alert(document.getElementById('foo').value)})()">
        <input type="text" id="foo" value="" />
        <input type="submit" value="valider" />
    </form>
    c'est pas du javascript dans l'action ???

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    comment Beef ??

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="javascript:(function(){ alert(document.getElementById('foo').value)})()">
        <input type="text" id="foo" value="" />
        <input type="submit" value="valider" />
    </form>

    c'est pas du javascript dans l'action ???
    SI mais c'est pas très orthodoxe.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form onSubmit="document.getElementById('foo').value;return flase;">
        <input type="text" id="foo" value="" />
        <input type="submit" value="valider" />
    </form>

    A+JYT
    PS: je n'ai toujours pas trouvé de cas ou l'utilisation de javascript:... soit pertinant.

  7. #7
    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 SpaceFrog
    comment Beef ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="javascript:(function(){ alert(document.getElementById('foo').value)})()">
        <input type="text" id="foo" value="" />
        <input type="submit" value="valider" />
    </form>
    c'est pas du javascript dans l'action ???
    Dans un post précédent, ce que voulait faire Laurent, c'était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="fichier.js">
    et ça, c'est pas possible !

  8. #8
    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 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Parce que si on en croit un de ses précédent post, c'est ça que Laurent essayait de faire...
    j'ai du rater les épisodes précédents...

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    ce que je souhaitais faire marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="mon_form" onSubmit="action_mon_form.js" method="post" enctype="multipart/form-data">
    sachant que le action_mon_form.js est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    switch (form) {
    case etape = 1 :
    mon_form.action = "action_mail_pere.php";
    mon_form.submit();
    etape++;
    case etape=2 :
    mon_form.action = "action_mail_mere.php";
    mon_form.submit();
    etape++;
    break;
    case default :
    alert('pb');
    break;
    }
    Pour l'instant, je n'ai fait que l'étape 1. Mais je suis en train de penser que pour conserver cette information d'étape, il faudrait que le fasse en PHP (variable de session), surtout que le formulaire proposé aura une configuration différente selon le numéro d'étape : est-ce exact ?

  10. #10
    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 laurentSc
    ce que je souhaitais faire marche très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="mon_form" onSubmit="action_mon_form.js" method="post" enctype="multipart/form-data">
    Je vois mal comment ça pourrait fonctionner...
    onsubmit attend du code JavaScript, pas une URL...

  11. #11
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    onsubmit attend du code JavaScript, pas une URL...
    j'avoue que je ne te suis pas : onSubmit reçoit bien du js ("mon_action_form.js") et d'ailleurs, la fonction PHP "action_mail_pere.php" est bien lancée puisqu'elle est censée envoyer un mail et que je le reçois, mais cela dit, je pense passer à une action en PHP pour être capable de mémoriser la variable "etape".

  12. #12
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    j'avoue que moi aussi je ne comprend pas.
    la syntaxe
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id="myForm" name="mon_form" onSubmit="action_mon_form.js" method="post" enctype="multipart/form-data">
    est equivalente à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    document.getElementById("myFrom")
    .onsubmit = function(event) {
      action_mon_form.js
    }
    Je ne vois absolument pas comment une telle fonction peut faire quoi que ce soit. car même si action_mon_form était un objet avec un membre js la fonction n'a aucune instruction à exécuter.

    si tu ouvre la console javascript et que tu tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById("myFrom")
    .onsubmit
    tu vas voir comme résultat le code de ta méthode onsubmit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    > document.getElementById('myForm').onsubmit
    function onsubmit(event) {
      action_mon_form.js
    }
    et ce que je poste là est un copié colé depuis le débuggeur de chrome
    réalisé en direct sur cette page même.

    A+JYT

  13. #13
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Ca serait intéressant de comprendre pour la culture mais de toute façon, je compte changer de langage...

  14. #14
    Invité
    Invité(e)
    Par défaut
    Laurent,
    le mieux, quand tu postes, serait d'EXPLIQUER l'OBJECTIF/le BUT de la manoeuvre.
    On pourrait alors PLUS FACILEMENT T'ORIENTER vers une SOLUTION adaptée/optimisée.

    Et ça éviterait à plusieurs personnes de perdre leur temps en conjectures...
    Je te rappelle que nous sommes tous bénévoles sur DVP.
    Et nous prenons tous de notre temps pour répondre...


    A priori ici, on se demande POURQUOI tu veux passer par JavaScript.

    En PHP, avec une session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php if ($_SESSION['etape']==1) { ?>
    <form name="mon_form" action="action_mail_pere.php" method="post" enctype="multipart/form-data">
    <?php } elseif ($_SESSION['etape']==2) { ?>
    <form name="mon_form" action="action_mail_mere.php" method="post" enctype="multipart/form-data">
    <?php }?>

  15. #15
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    je ne vois qu'un seul cas dans lequel <form action="script.js">... peut fonctionner c'est le cas ou le serveur supporte javascript
    mais dans ce cas là le scritp s'exécute sur le sereur et n'a donc accès qu'au valeurs transmises comme on a dans un script php

    A+JYT

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    le mieux, quand tu postes, serait d'EXPLIQUER l'OBJECTIF/le BUT de la manoeuvre.
    On pourrait alors PLUS FACILEMENT T'ORIENTER vers une SOLUTION adaptée/optimisée.

    Et ça éviterait à plusieurs personnes de perdre leur temps en conjectures...
    Je te rappelle que nous sommes tous bénévoles sur DVP.
    Et nous prenons tous de notre temps pour répondre...
    Oui, tu as tout-à-fait raison ; je fais aussi du bénévolat (pour un autre forum sur lequel je passe pour un pro, alors que ce n'est pas le cas (il y a 6 ans que j'ai découvert le web)) et je suis justement en train de le faire (et d'ailleurs, le but de ce post, c'était pour ça aussi, car j'ai beau être un "pro", je dois quand souvent demander conseil sur SVP).

    Et ce que tu proposes en PHP, c'est exactement l'idée que je m'étais faite (y compris le recours à une variable de session). L'idée d'utilisation du javascript, je ne saurais pas non plus l'expliquer...

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

Discussions similaires

  1. parametrer l'action d'un formulaire html
    Par laurentSc dans le forum Langage
    Réponses: 7
    Dernier message: 12/12/2012, 18h53
  2. modifier le action d'un formulaire HTML
    Par ballantine's dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 15/01/2010, 13h08
  3. action formulaire html en js
    Par laurentSc dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/12/2009, 13h47
  4. action var PHP d'un formulaire html
    Par laurentSc dans le forum Langage
    Réponses: 3
    Dernier message: 18/12/2009, 20h49
  5. [HTML] 2 actions dans un formulaire
    Par chrosnir dans le forum Balisage (X)HTML et validation W3C
    Réponses: 22
    Dernier message: 14/01/2008, 08h24

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