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. #21
    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
    L'arborescence en général:

    Default.asp (boutons anglais ou francais)
    /scripts/functions
    /scripts/script.js
    /En/form_login.asp
    /En/default.asp
    /Fr/form_login.asp
    /Fr/default.asp

    Est-ce que ceci est convenable ?

    Voici un message d'erreur que j'obtiens maitenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Response object
    error 'ASP 0156 : 80004005'
    Header Error
    /scripts/functions.asp[/FONT][FONT=Arial], line 111
    The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
    Qu'est-ce que je dois modifier ???

  2. #22
    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
    A priori oui.

    Pour ton erreur, rajoutes en en tête de ton fichier :

    Ca permet d'activer la mise en cache des pages.

    Bon courage et désolée pour le temps de réponse.

  3. #23
    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
    Merci beaucoup Crazyblinkgirl pour ton aide,

    Je n'y suis toujours pas arriver mais il semblerait que c'est un problème de cookies, maintenant ma validation passe avec n'importe quoi alors je cherche encore.
    J'ai trouvé 1001 scripts avec une validation avec une BD mais ma validation est un simple respect d'une forme de "masque" sur deux champs. Si je n'entre rien, ça passe, si j'entre 2 chiffres ça passe alors que je voudrais qu'il soit obligatoire d'entrer au moins 4 caractères (alphanumérique) et moins de 7 caractères. L'usager à la possibilité de cocher une case pour un "remember" lors de sa prochaine visite.

    Je suis certaine que ce n'est qu'un petit détail qu'il me manque mais je te remercie beaucoup pour ta patience et ton aide.

  4. #24
    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
    Salut!

    Peux-tu nous montrer le code complet obtenu jusque là (ou du moins ce que tu as rajouté par rapport à la dernière fois) ?

    Ca sera plus simple de l'avoir en une fois.

    Bon courage

  5. #25
    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 [résolu]
    Voici le code de l'include loginForm.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
     
    <table width="100%"  border="0" cellspacing="0" cellpadding="2">
     <form name="frmLogin" onsubmit="javascript:MM_Submit()" action="../../En/includes/default.asp" method="post">
      <tr>
           <td align="right">&nbsp;</td>
           <td>&nbsp;</td>
      </tr>
      <tr>
            <td align="right">Numéro d'usager :&nbsp;</td>
            <td>
              <input name="DealerCode" type="text" class="FormFields" size="21">
            </td>
      </tr>
      <tr>
            <td align="right">Numéro d'usager:&nbsp;</td>
            <td><input name="RepCode" type="text" class="FormFields" size="21"></td>
       </tr>
       <tr>
            <td align="right">Mémoriser&nbsp;</td>
            <td><input name="checkbox" type="checkbox" value="checkbox"></td>
        </tr>
        <tr>
             <td>&nbsp;</td>
             <td><br /><input type="submit" name="Submit" value="Accéder" onClick="javascript:MM_Submit()"></td>
        </tr>
     
         </form><%if Session("isError") = 1 then%>Code(s) invalide(s)<%else %><%end if%>
     </table>
    Ici je n'ai pas réussi à faire fonctionner le code de "si erreur = mauvais code" mais le formulaire fonctionne très bien.

    Ici le code à ajouter sur les pages "protégées"

    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
     
     
    <script language="JavaScript" type="text/JavaScript" src="/scripts/script.js"></script>
    <!--#include virtual="/scripts/functions.asp"-->
     
    <%
       Session("Authenticated") = 0
       CheckLoginCookie
       if Session("Authenticated") = 0 then
       %>
       <!--#include file="../En/includes/loginForm.asp" -->   
       <%else %>
    <p>code html </p>
     
     <%end if%>
    Tout va bien de ce côté

    Le script 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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
     
    function stripHTMLtags(HTMLstring)
    {
    return HTMLstring.replace(/\<|\%3C|\>|\%3E|\"|\'|\%|\;|\(|\)|\&|\+|\-/g,"");
    }
    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'),'info'
    ,'resizable=no,status=no,width=10,height=10,left=5000,top=5000');
     
    }
     
    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
     
    function MM_Logout() {
     
    document.cookie = "DealerCookie=" + '' + 
    "expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/"; 
    document.cookie = "RepCookie=" + '' + 
    "expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/"; 
    document.cookie = "RememberMeCookie=" + '' + 
    "expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
     
    location.href=window.location.href
    window.open('http://' + returnlang() + '/deletecookie.asp','info','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));
    }
    Ici le code de la fonction (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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
     
    <%@ Language=VBScript %>
    <%      
        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
           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 
     
          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
    %>
    Voilà tout fonctionne sauf qu'il reste à finaliser le code pour si erreur provenant de l'usager "mauvais code ou combinaison des 2 codes"

    Merci !

  6. #26
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Pour ma part j'essaie de faire exactement l'inverse. C'est-à-dire que je veux appeler une fonction ASP depuis un javascript.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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