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 :

Plusieurs submit (javascript / php)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Par défaut Plusieurs submit (javascript / php)
    Bonjour,
    j'ai plusieurs submit sur la même page qui font appel à la même fonction javascript mais je n'arrive pas à les gérer. j'ai regardé sur le net mais je n'ai pas trouvé de solutions qui fonctionne.

    C'est un cas un peu spécial, voici le code:

    le javascript de la page "news_info":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language=Javascript>
    function bouton()
    {
        document.envoi.submit();
    }
    </script>

    la page en question :
    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
    // debut article 24
    <form action="/pages/news/news_unique.php" method="post" name="envoi">
    <a onclick="javascript:bouton();">mon lien 1</a>
    <input type="hidden" name="title" value="titre de l'article" />
              			<input type="hidden" value="news24.html" name="number" />
    </form>    
     
    BLA BLA BLA
    // fin article 24
     
    // debut article 25
    <form action="/pages/news/news_unique.php" method="post" name="envoi">
    <a onclick="javascript:bouton();">mon lien 2</a>
    <input type="hidden" name="title" value="titre de l'article" />
              			<input type="hidden" value="news25.html" name="number" />
    </form>    
     
    BLA BLA BLA
    // fin article 25


    je récupère ensuite la valeur "number" qui me sert à afficher l'article voulu grâce à un include dans la page news_unique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $number=$_POST["number"];
    $title=$_POST["title"];
    ?>
     
    <?php
    include($number)
    ?>


    si je n'ai qu'un formulaire dans la 1ère page cela fonction, mais si j'en ai plus ça ne marche plus...
    je ne peux pas (a mon avis, et j'ai essayé) nommé les autres formulaires différemment car ma fonction javascript s'appelle "function bouton()" ...
    je ne sais pas comment faire, auriez vous une astuce?

    merci beaucoup!

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Il faudrait au minimum que tes forms aient des noms uniques ou des IDs que tu passes en paramètre

    Sinon, tu passes 'this' en paramètre à ta fonction, et dans ta fonction tu remontes au FORM parent que tu submit(). (En supposant qu'on ait un node)

  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
    Par défaut
    Bonjour,
    <a onclick="javascript:bouton();">mon lien 2</a>
    onclick attend déjà des instructions javascript donc vires le motif "javascript:"

  4. #4
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 22
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    onclick attend déjà des instructions javascript donc vires le motif "javascript:"
    c'est fait merci

    Citation Envoyé par kernelfailure Voir le message
    Il faudrait au minimum que tes forms aient des noms uniques ou des IDs que tu passes en paramètre
    est-il possible de mettre quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language=Javascript>
    function bouton()
    {
        document.nom_du_form_qui_change.submit();
    }
    </script>
    avec nom_du_form_qui_change qui serai le nom ou l'ID du formulaire? si oui, comment le lui indiquer?


    Citation Envoyé par kernelfailure Voir le message
    Sinon, tu passes 'this' en paramètre à ta fonction, et dans ta fonction tu remontes au FORM parent que tu submit(). (En supposant qu'on ait un node)
    Après m'être renseigner sur les node, this ... j'avoue ne pas vraiment comprendre comment faire et cela me semble un peu complexe

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Citation Envoyé par remrem13 Voir le message
    est-il possible de mettre quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script language=Javascript>
    function bouton()
    {
        document.nom_du_form_qui_change.submit();
    }
    </script>
    avec nom_du_form_qui_change qui serai le nom ou l'ID du formulaire? si oui, comment le lui indiquer?
    Ca ne marchera pas ainsi. Il faudra utiliser une autre syntaxe pour jouer avec le nom de variable. Ou bien faire une série de if, un par formulaire et d'encoder l'instruction avec le nom du formulaire en dur.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    //Passage en paramètre de maVar
    document.forms[maVar].submit();
    
    
    //Série de if
    if(maVar == "form1")
       document.form1.submit();
    if(maVar == "form2")
       document.form2.submit();

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Citation Envoyé par vermine Voir le message

    //Série de if
    if(maVar == "form1")
    document.form1.submit();
    if(maVar == "form2")
    document.form2.submit();
    [/code]
    Mais aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document[formName].submit();
    Citation Envoyé par remrem13 Voir le message
    Après m'être renseigner sur les node, this ... j'avoue ne pas vraiment comprendre comment faire et cela me semble un peu complexe
    Pas du tout. C'est très simple, voici un exemple :
    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
    <html>
    <head>
    <script>
    function getTopForm (obj) {
    	/* ... */
    	alert(obj.parentNode.name);
    	obj.parentNode.submit();
    } 
    </script>
    </head>
    <body>
    <form method=post name="myTopForm">
    <input name="rien" />
    <a href="" onclick="getTopForm(this)">click me</a>
    </form>
    </body>
    </html>

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

Discussions similaires

  1. Submit, javascript et php
    Par jvpic dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/10/2013, 09h31
  2. [PHP-JS] Gérer plusieurs submit
    Par Franckintosh dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2006, 15h18
  3. [Javascript / PHP] Tooltip sur une ligne php
    Par tchoukapi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/10/2005, 17h12
  4. Equivalent de submit javascript en ASP
    Par ahage4x4 dans le forum ASP
    Réponses: 4
    Dernier message: 17/06/2005, 16h52

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