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 :

Modifier l'action d'un submit


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut Modifier l'action d'un submit
    Bonjour à tous,

    Voilà je suis en train de développer une appli web avec JSF et je voudrai changer l'action associé à mon bouton type submit en récupérant une variable javascript de façon à ne pas recharger ma page en appelant mon bean...
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <html>
        <head>
            <link rel="stylesheet" href="selectReports.css" type="text/css"/>
            <title>Critères de consultation des rapports de fabrication</title>
            <script type="text/javascript">
                <!--              
                    var actionButton = 'consultEqupt';
                    function execOnLoad(){
                        griserDate(theValue);
                    }
                //-->
            </script>
        </head>
        <body>....
     
             <h:selectOneRadio value="#{selectReportsCtrl.view.typeCaract}" layout="horizontal" id="typeCaract" onclick="griserDate(this.value)" immediate="true" >
                    <f:selectItems value="#{selectReportsCtrl.view.listeItemsTypeCaract}" />
                                </h:selectOneRadio>
     
             <h:commandButton id="submit" action="&{actionButton};" value="Valider" />
    .....
     </body>
        <script type="text/javascript">
            <!--
                // Permet de griser ou dégriser la date de fin
                function griserDate(theValue){
                    if(theValue == 2) {
                        // Grise la date de fin
                        document.forms["archiveOfab"].elements["archiveOfab:dateF"].disabled = true;
                        actionButton = 'consultEquipt';
                    } else {
                        // Dégrise la date de fin 
                        document.forms["archiveOfab"].elements["archiveOfab:dateF"].disabled = false;
                        actionButton = 'consult';
                    }
                }
            //-->
        </script>
    </html>
    Le problème c'est que je n'arrive pas à interprêter ma variable javascript
    Est-ce que quelqu'un aurait une solution svp ?
    Merci d'avance pour vos réponses

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par Mygush
    Le problème c'est que je n'arrive pas à interprêter ma variable javascript
    actionButton ?
    C'est le paramètre que tu veux passer à griserDate() ?

    Si oui, il faudrait le code de cette fonction (pour voir ce qu'elle attend : objet, un ID, une prop de l'objet ...).

    A+

  3. #3
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Non en fait je passe la valeur boutonRadio dans griserDate qui me permet de griser une date mais également de mettre à jour ma variable javascript 'actionButton'.
    En fait je veux récupérer la valeur de ma variable pour mettre à jour l'action de mon bouton.
    Mais le problème c'est que je veux faire çà sans recharger ma page et là j'avoue que je trouve pas de solution...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    OK.
    Ce n'est pas vraiment un pb JS, mais plutôt JSF.
    En effet "action" n'est pas une propriété du bouton (mais du <form> lui-même), et donc pas de syntaxe JS appropriée.
    Essaye quand même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('submit').action = actionButton;


    A+

  5. #5
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Merci pour ta réponse, malheureusement ça ne marche pas je sais vraiment plus quoi faire...

  6. #6
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Une solution qui marche (j'ai eu le même souci) est celle-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.name_du_formulaire.action="page.php";

Discussions similaires

  1. PB sur form.action et form.submit !
    Par wormseric dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/11/2006, 13h55
  2. [LAF][JTABLE]Modifier l'action de 'ENTER'
    Par narmataru dans le forum Composants
    Réponses: 3
    Dernier message: 13/10/2006, 18h40
  3. modifier le action d'un formulaire
    Par Sheriff dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/06/2006, 19h20
  4. [formulaire] Modifier l'action engendrée par la touche [Entrée]
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/05/2006, 16h58

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