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

ASP.NET Discussion :

Exécuter du code javascript avant le postback


Sujet :

ASP.NET

Vue hybride

lionel0068 Exécuter du code javascript... 01/04/2015, 00h30
jopopmk Salut, le passage à... 01/04/2015, 07h33
lionel0068 C'est bien que ce que je... 01/04/2015, 08h53
jopopmk Si ta fonction JS laisse... 01/04/2015, 09h12
lionel0068 Ma fonction laisse toujours... 01/04/2015, 10h10
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2015
    Messages : 14
    Par défaut Exécuter du code javascript avant le postback
    Bonjour,
    Je cherche comment exécuter le code javascript contenu dans la fonction « deplacer() » avant le code behind.

    J’ai testé avec le code suivant, mais le javascript ne s’exécute pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="Button" runat="server" OnClientClick="deplacer()" OnClick="Button_Click" />


    Et si je modifie le « OnClientClick » comme ci-dessous, alors le javascript s’exécute très normalement, mais le code behind appelé dans « Button_Click » n’est pas lancé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="Button" runat="server" OnClientClick="deplacer(); return false" OnClick="Button_Click" />
    Merci d’avance pour votre aide.

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    le passage à l'event server ne se fait que si le JS de OnClientClick retourne "true".

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2015
    Messages : 14
    Par défaut
    C'est bien que ce que je pensais avoir compris, mais alors comment exécuter du code javascript puis du code behind ensuite ?

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Si ta fonction JS laisse toujours passer (il ne sert pas de confirmation/test) alors à la place du "return false;" après son l'appel tu mets un "return true;".
    Sinon tu t'arranges pour que ta fonction renvoie true/false selon tes tests et tu fais un "return mafonction();"
    Explication par l'exemple (la fonction de base Confirm() renvoie true/false selon si l'on click sur ok/cancel de la dialogbox) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button id="btnDelete" runat="server" OnClientClient="return Confirm('ar iou chour ?');" OnClick="btnDelete_Click" />

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2015
    Messages : 14
    Par défaut
    Ma fonction laisse toujours passer.
    Le problème c’est que sans rien ou avec « return true » le code JS de la fonction ne s’exécute pas ou plus exactement très mal (normalement la fonction doit avoir pour effet de déplacer « Button1 » lentement suivant plusieurs positions, mais on aperçoit simplement un mouvement très rapide).

    Voici le 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
    <style>        
            #Button1 {
                position: absolute;
                width: 100px;
                left: 0px;
                top: 0px;
            }
     
            #Button2 {
                position: absolute;
                width: 100px;
                left: 100px;
                top: 0px;
            }
    </style>
     
    <script language="javascript" type="text/javascript">
            function deplacer() {
                pos1();
                setTimeout("pos2()", 1000);
            }
     
            function pos1() {
                document.getElementById("Button1").style.top = "100px";
            }
     
            function pos2() {
                document.getElementById("Button1").style.top = "200px";
            }
    </script>
     
    <asp:Button ID="Button1" runat="server" Text="Button 1" />
    <asp:Button ID="Button2" runat="server" Text="Button 2" OnClientClick="deplacer()" OnClick="Button2_Click" />

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Je suppose que le code que tu me présentes est un "résumé" de ton vrai JS, nop ?
    Parce que là tu fais juste 2 sauts de 100px, ça risque pas d'être fluide.
    Ce que tu cherches à faire c'est de passer côté server uniquement quand ton Button1 a fini son parcours ?

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/04/2011, 00h24
  2. Exécuter du code javascript à < distance >
    Par Makos dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 20/01/2011, 21h15
  3. Exécuter un code javascript lors du clique sur un textbox
    Par krolis dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 31/03/2010, 15h46
  4. Réponses: 24
    Dernier message: 01/12/2009, 14h58
  5. Réponses: 11
    Dernier message: 26/02/2008, 13h31

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