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 Discussion :

Appeler une fonction JavaScript (en ASP) ?


Sujet :

ASP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut Appeler une fonction JavaScript (en ASP) ?
    Bonjour,

    Quelqu'un sait comme j'appele une fonction qui est sur une autre page (fonction.asp) via une autre page asp (formLogin.asp)

    J'ai un formulaire et je dois valider les champs complétés par l'usager (formLogin.asp). J'ai trouvé un bon script de validation (longueur, les caratères, les nombres etc...) et ce script se retrouve sur une autre page (fonction.asp) maintenant dans mon formulaire je veux appeler cette fonction plutôt que d'introduire tout le code dans la même page, alors comment je fais ?

    syntaxe et à quel endroit exactement ?

    Merci !

  2. #2
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Bonjour,

    Dans ta page formLogin.asp (début), tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--#include file="fonction.asp" -->
    Tu n'as plus qu'à appeler ta fonction quand tu en as besoin

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Crazyblinkgirl
    Bonjour,

    Dans ta page formLogin.asp (début), tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--#include file="fonction.asp" -->
    Tu n'as plus qu'à appeler ta fonction quand tu en as besoin
    Et comment je l'appele exactement dans un formulaire avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="code" value="">
    après avoir ajouté l'include en haut de page ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%      
        '**************************************
        ' Name: isAlphaNumeric
        ' Description:Function to determine if t
        '     he passed parameter is AlphaNumeric (the
        '     string contains only A-Z, a-z or 1-0). H
        '     eavily commented. Bug Fixed.
        ' By: Ramon Morales ......
    Function IsAlphaNumeric(sText)

  4. #4
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Appelles la quand ton formulaire a été validé comme ca si il y a une erreur, tu le réafficheras

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Crazyblinkgirl
    Appelles la quand ton formulaire a été validé comme ca si il y a une erreur, tu le réafficheras
    Je veux bien mais ma question est : C'est où exactement et c'est quoi la syntaxe pour appeler la fonction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="/fonction.asp" name="frmLogin" method="post" onsubmit="javascript:IsAlphaNumeric(sText)">
    Est-ce comme ceci ou ailleurs dans le fomulaire ? Est-ce la bonne syntaxe ?

    Merci de m'aider !

  6. #6
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Il s'agit d'une fonction javascript?

    Si oui, tu peux effectivement la mettre dans ton form comme tu as fait (avec un return devant)

    Par contre, à quoi correspond le paramètre sText?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Crazyblinkgirl
    Il s'agit d'une fonction javascript?

    Si oui, tu peux effectivement la mettre dans ton form comme tu as fait (avec un return devant)

    Par contre, à quoi correspond le paramètre sText?
    Tu veux dire quoi un return devant : ?

    la fonction s'écrit comme telle mais peut-être que je devrais mette autre chose dans la () ou rien du tout ?

  8. #8
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onsubmit=" return IsAlphaNumeric(sText)">
    Si ton code n'est pas trop long, peux tu le mettre stp (ou du moins les parties concernées), ca sera plus simple

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Voici le code du formulaire :
    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
     
     
    <!--#include virtual="/scripts/functions.asp"--> 
    <form action="/scripts/fonctions.asp" name="frmLogin" method="post" onsubmit="JavaScript:MM_Submit()">
    <table cellpadding=0>
    <tr>
    <td>
     Dealer Code </td>
    </tr>
    <tr>
    <td>
    <input name="DealerCode" type="text" class="FormFields" tabindex="1">
    </td>
    <td>
    <input type="checkbox" name="checkbox" value="checkbox" tabindex="3">                                                                                  
    Remember Me 
    </td>
    </tr>
    <tr>
    <td>
    Rep Code
    </td>
    </tr>
    <tr>
    <td>
    <input name="RepCode" type="text" class="FormFields" tabindex="2">
    </td>
    <td>
    <input type="submit" name="btnSubmit" value="Go" tabindex="4">
    </td>
    </tr>
    </table>
    </form>
    <%if Session("isError") = 1 then%>Invalid Dealer Rep combination<%else %><%end if%>
    et pour la fonction :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    <%                                                                                          
    Function IsAlphaNumeric(sText)
     
    Dim nLen, nLoop, sTemp,                sSingleCharacter
    Dim bAlphaStatus
     
    bAlphaStatus = True
     
    sTemp = Trim(sText)
    nLen = Len(sTemp)
     
    If nLen = 0 then
    bAlphaStatus = False
    End If     'If nLen = 0 then
    If nLen > 0 then
     
    sTemp = Ucase(sTemp)
     
    For nLoop =1 to nLen
    sSingleCharacter = Mid(sTemp,nLoop,1)
    If Instr("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", sSingleCharacter)= 0 then                                                                  bAlphaStatus = False
    Exit For
    End If
    Next
     
    If bAlphaStatus <> False then
    bAlphaStatus = True
    End If
    End If     'If nLen > 0 then
     
    IsAlphaNumeric = bAlphaStatus
     
    End Function
     
    Sub CheckLoginCookie
                    Session("isError") = 0
                    txtDealer=Request.Cookies("DealerCookie")
                    txtRep=Request.Cookies("RepCookie")                       
                    if ucase(left(txtDealer,7)) = "EXPIRES" then txtDealer = "" End if
                    if ucase(left(txtRep,7)) = "EXPIRES" then txtRep = "" End if
     
                    If ((Len(txtDealer) >= 4 AND  Len(txtDealer) <= 6 AND isNumeric(txtDealer)) AND ((Len(txtRep) >= 3 and Len(txtRep) <= 4)) And isAlphaNumeric(txtRep)) Then
     
                    Session("Authenticated") = 1
                    Session("isError") = 0
                    else                         
                    Session("Authenticated") = 0
     
                    if (Len(txtDealer) > 0 or Len(txtRep) > 0) then                      
                      Session("isError") = 1
                    end if                      
                    end if
                    if (Request.QueryString("Print") = "1" or Request.Form("Print")) then Session("Authenticated") = 1
    end sub
     
    %>
    pour le Javascript :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
     
    function MM_Submit() {
      var expdate = new Date();
      var sixMonth = 180 * 24 * 60 * 60 * 1000;
      if ((document.frmLogin.checkbox.checked)) {
     expdate.setTime (expdate.getTime() + sixMonth) ;
     
     document.cookie = "DealerCookie=" + stripHTMLtags(document.frmLogin.DealerCode.value) + 
        ((expdate) ? "; expires=" + expdate.toGMTString() : "") + "; path=/";
     
     document.cookie = "RepCookie=" + stripHTMLtags(document.frmLogin.RepCode.value) + 
        ((expdate) ? "; expires=" + expdate.toGMTString() : "") + "; path=/";
     
     document.cookie = "RememberMeCookie=" + ((document.frmLogin.checkbox.checked)?'1':'0') + 
        ((expdate) ? "; expires=" + expdate.toGMTString() : "") + "; path=/";
     
      }  
      else 
      {
        document.cookie = "DealerCookie=" + stripHTMLtags(document.frmLogin.DealerCode.value) + "; path=/"; 
     document.cookie = "RepCookie=" + stripHTMLtags(document.frmLogin.RepCode.value) + "; path=/"; 
     document.cookie = "RememberMeCookie=" + ((document.frmLogin.checkbox.checked)?'1':'0') + "; path=/";
      }
        window.open ('http://' + returnlang() + '/createcookie.asp?DealerCode=' + stripHTMLtags(document.frmLogin.DealerCode.value) + '&RepCode=' + stripHTMLtags(document.frmLogin.RepCode.value) + '&RememberMeCookie=' + ((document.frmLogin.checkbox.checked)?'1':'0'),'testu','resizable=no,status=no,width=10,height=10,left=5000,top=5000');
     
    }
     
    function changlang() {
    var asploc = window.location.href
     if (asploc.indexOf("/En/") > 0) 
     {
      asploc = asploc.replace("/En/","/Fr/")
      location.href=(asploc);
     }
     else
     {
      asploc = asploc.replace("/Fr/","/En/")
      location.href=(asploc);  
     }
    }
    function returnlang() {
    var asploc = window.location.href
     if (asploc.indexOf("/En/") > 0) 
     {
      return "/Fr/";  
     }
     else
     {
      return "/En/";  
     }
    }
    function getlang() {
    var asploc = window.location.href
     if (asploc.indexOf("/En/") > 0) 
     {
      return "/En/";
     }
     else
     {
      return "/Fr/";
     }
    }
    function getCookie(name)
    {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1)
        {
            begin = dc.indexOf(prefix);
            if (begin != 0) return null;
        }
        else
        {
            begin += 2;
        }
        var end = document.cookie.indexOf(";", begin);
        if (end == -1)
        {
            end = dc.length;
        }
        return unescape(dc.substring(begin + prefix.length, end));
    }
    Je crois que tu as tout le nécessaire en code, maintenant je voudrais le rendre fonctionnel ?????

    Merci !!!!

  10. #10
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Ok, IsAlphaNumeric est donc une fonction VBScript.

    Dans fonctions.asp, tu vas l'appeler une fois le form validé. Pour cela, tu

    fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if request("btnSubmit") = "Go" then
     
       var test = IsAlphaNumeric (request.form("RepCode"))
     
    end if
    (Si tu veux tester le contenu de ton champ RepCode par exemple).

    Ta fonction va te renvoyer true ou false donc d'après la valeur de test, tu vas pouvoir effectuer le traitement que tu souhaites.

    J'espère que cela va t'aider.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    En ajoutant ton bout de code j'arrive sur une page vide sans erreurs toutefois mais je ne sais où regarder....

    Crois-tu pouvoir m'aider encore ?

    Merci !

  12. #12
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Bonjour,

    Tu fais quel traitement une fois que tu as appelé "IsAlphaNumeric", car rien n'est affiché par défaut là

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Si l'usager est authentifié il devrait être rediriger vers lapage.asp, sinon il demeure sur page login_form.asp.

    Quelle est la methode pour pour répondre à ceci ?

    Merci !!

  14. #14
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Tu vas le rediriger en fonction de la valeur de ta session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Session("Authenticated")= 1 then
       'Redirection si user authentifié
       response.redirect("lapage.asp") 
    end if

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Je voudrais ajouté ton code dans la page du formulaire puisque le formulaire existe en anglais et en français. Quelle est la syntaxe à ce niveau ?

    La première étape consiste à choisir la langue ensuite il est rediriger vers la page login de sa langue. S'il est authentifié, il est aussi rediriger vers lapage.asp de sa langue (même arborescence sauf /En/ ou /Fr/

    Que doit t-il avoir dans Form action "#" je ne suis plus certaine.....

    Encore MERCI !!!

  16. #16
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    La première étape consiste à choisir la langue
    De quelle manière est-ce réalisé exactement?

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Crazyblinkgirl
    De quelle manière est-ce réalisé exactement?
    C'est juste une page d'entrée avec 2 boutons Français ou Anglais qui redirige sur le form_login en ou fr

    /En/Form_login.asp
    ou
    /Fr/Form_login.asp

  18. #18
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Ok, donc ce que tu peux faire c'est récupérer la valeur du bouton qui a été clické puis redirigé vers le bon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if request("nombouton") = "Fr" then
       response.redirect("/Fr/Form_login.asp")
    else
       response.redirect("/En/Form_login.asp")
    (Avec le value de ton bouton = "Fr" par exemple)

    Ensuites, tu appliques ce que l'on a déjà vu.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 143
    Points : 74
    Points
    74
    Par défaut
    J'ai un doute sur cette portion HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="/scripts/functions.asp" name="frmLogin" method="post" onsubmit="JavaScript:MM_Submit()">
    PS: le javaScript est dans /scripts/scripts.js
    et j'ai cette ligne dans form_login:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script language="JavaScript" type="text/JavaScript" src="/Script/script.js"></script>  
     
    et aussi
     
    <!--#include virtual="/scripts/functions.asp"-->
    et celui dans functions.asp :
    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
     
    Sub CheckLoginCookie
      Session("isError") = 0
      txtDealer=Request.Cookies("DealerCookie")
      txtRep=Request.Cookies("RepCookie")  
      if ucase(left(txtDealer,7)) = "EXPIRES" then txtDealer = "" 
    End if
      if ucase(left(txtRep,7)) = "EXPIRES" then txtRep = "" 
    End if
     
      If ((Len(txtDealer) >= 4 AND  Len(txtDealer) <= 6 AND isNumeric(txtDealer)) AND ((Len(txtRep) >= 3 and Len(txtRep) <= 4)) And isAlphaNumeric(txtRep)) Then
       Session("Authenticated") = 1
       Session("isError") = 0
       else  
       Session("Authenticated") = 0
     
       if Session("Authenticated")= 1 then
          'Redirection si user authentifié  
           response.redirect("default.asp") 
          else
          if request("English") = "English" then
             response.redirect("/En/Form_login.asp")
          else
             response.redirect("/Fr/Form_login.asp")
         end if
       end if   
      if (Len(txtDealer) > 0 or Len(txtRep) > 0) then    
        Session("isError") = 1
      end if  
      end if
      if (Request.QueryString("Print") = "1" or Request.Form("Print")) then Session("Authenticated") = 1
    end sub
    J'arrive toujours sur une page vide ..... ????

    MERCI de ta patience.. !!!

  20. #20
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Tu n'as aucune erreur javascript?

    Par contre, si le répertoire dans lequel se situent tes pages asp est au même niveau que celui nommé "Script", enlèves le "/" devant.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP-JS] appeler une fonction javascript dans un lien
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 25/04/2007, 10h43
  2. Appeler une fonction javascript grâce à une String
    Par Mike_69 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 29/03/2007, 17h38
  3. Réponses: 2
    Dernier message: 13/03/2006, 13h54
  4. Réponses: 7
    Dernier message: 08/10/2005, 08h59
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

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