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 :

URGENT : Request.Form ne marche pas sous IE6


Sujet :

ASP

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut URGENT : Request.Form ne marche pas sous IE6
    Bonjour tout le monde,


    Voilà, j'ai un site intranet qui fonctionne très bien sous IE5 mais plus sous IE6 (environnement technique : Windows 2000 + IIS 5 + ASP).

    Après avoir longuement cherché, j'ai finalement fini par identifier le problème : c'est la commande Request.Form("nom_du_champ") qui ne fonctionne pas sous IE6 (je cherche à récupérer les informations "submitées" par un formulaire).


    Ci-dessous le code de ma page de test qui utilise exactement la même méthode que le site (j'utilise une méthode hybride avec le formulaire pour toutes les infos de la page et un passage d'info par la barre d'adresse pour le champ actuel modifié car c'est nécessaire pourle traitement : recherche dans une base de données si besoin pour enrichir d'autres champs,...).

    Donc sous IE5, lorsque l'on modifie un champ (et appui sur Tab par exemple) la page se recharge et donne le focus au champ suivant tout en ayant conservé la valeur de l'autre champ, alors que sous IE6 ce dernier est effacé (à cause du Request.Form qui ramène une valeur vide).


    Je pense que c'est une "sécurité" de IE6 (on aura tout vu...) qui bloque la requête HTTP, mais je n'ai aucune idée de pourquoi...


    D'avance, merci beaucoup à ceux qui auront une info à ce sujet !


    --> merci de m'écrire à : sebastien.rochefort@groupe-mma.fr





    PS : Je vous vois tous venir pour me dire de jeter IE à la poubelle et d'utiliser Mozilla, mais je n'ai pas le choix, c'est pas moi qui décide...










    <% @Language=VBScript %>
    <% Option Explicit %>

    <html>

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>page de test</title>
    </head>

    <SCRIPT LANGUAGE="JavaScript">

    function InitFocus()
    {
    if (document.FrontPage_Form1.conf.value == "" )
    {
    document.forms["FrontPage_Form1"].item('conf').focus();
    }
    else
    {
    document.forms["FrontPage_Form1"].item('nomInter').focus();
    }
    }

    function RechargePage(formulaire, champ)
    {
    document.FrontPage_Form1.action='test.asp';
    document.FrontPage_Form1.submit();
    NouvelleUrl = "test.asp?" + champ + "=" + formulaire.item(champ).value;
    document.location.href = NouvelleUrl;
    }

    </SCRIPT>

    <body onLoad="InitFocus()">

    <%
    Session("valeurConf") = Ucase(Request.Form("Conf"))
    Session("valeurNomInter") = Ucase(Request.Form("NomInter"))

    if Request("conf")<>"" then
    Session("valeurConf") = Ucase(Request("Conf"))
    end if

    if Request("nomInter")<>"" then
    Session("valeurNomInter") = Ucase(Request("nomInter"))
    end if
    %>

    <form method="POST" action="test2.asp" name="FrontPage_Form1">
    Numéro de configuration :
    <input type="text" name="conf" size="20" maxlength="20" value="<%=Session("valeurConf")%>" onChange="RechargePage(this.form, 'conf')" style="font-size: 10 pt; text-transform: uppercase; font-weight: bold" tabindex="1">
    <BR>
    Nom de l'intervenant :
    <input type="text" name="nomInter" size="20" maxlength="20" value="<%=Session("valeurNomInter")%>" onChange="RechargePage(this.form, 'nomInter')" style="font-size: 10 pt; text-transform: uppercase; font-weight: bold" tabindex="2">
    </form>

    </body>

    </html>

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 32
    Points : 38
    Points
    38
    Par défaut
    et essayes de mettre un tag approprié et non pas "URGENT" qui ne donne carément pas envie de répondre.

    précise dans ton code si c'est .form ou .querystring
    et si cela ne regle pas ton pborlème, donne plus de détail sur "ca ne fonctionne pas sous ie6". Qu'est ce que ca fait, et qu'est ce que ca devrait faire ?
    Marquez vos sujets "[Résolu]" quand vous obtenez la réponse à vos questions !
    La vitesse de la lumière étant plus élevée que celle du son, certains parraissent brillant jusqu'a ce qu'il se mettent à parler.

  3. #3
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    ça n'a rien à voir avec ton navigateur, vu que le code ASP est exécuté par ton serveur

    et :


    et en plus ton code est bizarre :
    tu fais un formulaire envoyé par post et en plus tu passes les valeurs par querystring
    donc :
    1/ tu soumet ton formulaire par POST
    2/ tu voudrais relancer la page en passant la valeur dans l'URL

    t'as pas l'impression que c'est un peu bizarre comme façon de faire ?

  4. #4
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut RE
    oki, désolé pr ttes ces erreurs, c mon 1er post ici...


    et désolé pr "URGENT", mais ça l'est pr moi... :-(



    sinon j'ai rajouté pour Request.QueryString que j'avais en effet omis, mais ça ne résoud pas mon pb...



    "donne plus de détail sur "ca ne fonctionne pas sous ie6". Qu'est ce que ca fait, et qu'est ce que ca devrait faire ?"

    --> Donc sous IE5, lorsque l'on modifie un champ (et appui sur Tab par exemple) la page se recharge et donne le focus au champ suivant tout en ayant conservé la valeur de l'autre champ, alors que sous IE6 ce dernier est effacé (à cause du Request.Form qui ramène une valeur vide) et l'on a qu'alors la valeur du champ modifié d'affiché (celui passé par la QueryString).



    "ça n'a rien à voir avec ton navigateur, vu que le code ASP est exécuté par ton serveur"

    --> j'y ai bien pensé, mais est-ce que IIS peut renvoyer des requêtes différentes selon le navigateur client ??



    "et en plus ton code est bizarre"

    --> j'utilise une méthode hybride avec le formulaire pour toutes les infos de la page et un passage d'info par la barre d'adresse pour le champ actuel modifié car c'est nécessaire pourle traitement : recherche dans une base de données si besoin pour enrichir d'autres champs,... (je rappele que la page fournie n'est qu'un squelette représentatif du site... je dois conserver ce mode de fonctionnement...)

    (une petite précision : ce n'est pas moi qui ai écrit ce foutu site, je suis juste censé débugguer... je ne suis qu'un pauvre presta qui a reprit le caca d'un autre...)








    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
     
     
     
    <% @Language=VBScript %>
    <% Option Explicit %>
     
    <html>
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>page de test</title>
    </head>
     
    <SCRIPT LANGUAGE="JavaScript">
     
    function InitFocus()
    {
    	if (document.FrontPage_Form1.conf.value == "" )
    	{
    		document.forms["FrontPage_Form1"].item('conf').focus();
    	}
    	else
    	{
    		document.forms["FrontPage_Form1"].item('nomInter').focus();
    	}
    }
     
    function RechargePage(formulaire, champ)
    {
    	document.FrontPage_Form1.action='test.asp';
    	document.FrontPage_Form1.submit();
    	NouvelleUrl = "test.asp?" + champ + "=" + formulaire.item(champ).value;
    	document.location.href = NouvelleUrl;
    }
     
    </SCRIPT>
     
    <body onLoad="InitFocus()">
     
    <%
    	Session("compteurConf") = Request.Form("Conf").Count
    	Session("compteurNomInter") = Request.Form("NomInter").Count
     
    	Session("valeurConf") = Ucase(Request.Form("Conf"))
    	Session("valeurNomInter") = Ucase(Request.Form("NomInter"))
     
    	if Request.QueryString("conf")<>"" then
    		Session("valeurConf") = Ucase(Request.QueryString("Conf"))
    	end if
     
    	if Request.QueryString("nomInter")<>"" then
    		Session("valeurNomInter") = Ucase(Request.QueryString("nomInter"))
    	end if
    %>
     
    <form method="POST" action="test2.asp" name="FrontPage_Form1">
    	Numéro de configuration :
    	<input type="text" name="conf" size="20" maxlength="20" value="<%=Session("valeurConf")%>" onChange="RechargePage(this.form, 'conf')" style="font-size: 10 pt; text-transform: uppercase; font-weight: bold" tabindex="1">
    	<%=Session("compteurConf")%>
    	<BR>
    	Nom de l'intervenant :
    	<input type="text" name="nomInter" size="20" maxlength="20" value="<%=Session("valeurNomInter")%>" onChange="RechargePage(this.form, 'nomInter')" style="font-size: 10 pt; text-transform: uppercase; font-weight: bold" tabindex="2">
    	<%=Session("compteurNomInter")%>
    </form>
     
    </body>
     
    </html>

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function RechargePage(formulaire, champ) 
    { 
       document.FrontPage_Form1.action='test.asp'; 
       document.FrontPage_Form1.submit(); 
       NouvelleUrl = "test.asp?" + champ + "=" + formulaire.item(champ).value; 
       document.location.href = NouvelleUrl; 
    }
    Je vais parler de javascript mais bon...
    Comment fais-tu pour soumettre un formulaire (et non pas submiter!) et faire une redirection ensuite? C'est pas possible puisque la soumission du formulaire recharge la page!
    Je pense que tu rediriges sur test.asp sans aucun paramètre en querystring derrière (soumission du formulaire).
    Il serait plus imple de faire un champs caché et de lui donner la valeur que tu souhaites dans ton js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    formulaire.valeurchamps.value = champs
    document.FrontPage_Form1.action='test.asp'; 
    document.FrontPage_Form1.submit();
    m'enfin c'est tout ce que je vois avec mes yeux fatigués.

    Au fait après la balise code tu vas apprendre a utiliser la balise citation [quote]
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut RE
    Comment fais-tu pour soumettre un formulaire (et non pas submiter!) et faire une redirection ensuite? C'est pas possible puisque la soumission du formulaire recharge la page!
    --> bah non, justement, c ce que je croyais mais la soumission du formulaire ne redirige pas la page... si j'enlève la redirectio il ne se passe rien


    (je précise que je débute en ASP & JavaScript... j'ai fais 1 peu de PHP avant...)




    sinon c pas con du tt en effet le coup des champs cachés ds le formulaire pr m'éviter de les passer en QueryString, mais c pas ça qui va faire marcher la soumission (si si, je connaissais le mot mais je trouve submit + parlant... je suis 1 adepte du franglais, kom bcp d'informaticiens...) du formulaire et le Request.Form derrière.. :-( (ds ma première page de test je n'utilisais justement pas le passage d'infos par l'URL et ça ne marchait pas qd-mm...)

  7. #7
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="" name="FrontPage_Form1">
    Mais je vais arreter là mon aide vu que c'est vraiment du js. Va dans le forum javascript.

    Bonne chance.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  8. #8
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut RE
    oki, merci

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 5
    Points : 2
    Points
    2
    Par défaut ayé, g trouvé !! :-))
    bon, g dc trouvé grace à vos différentes remarques la source de mon pb :

    c la redirection après la soumission du formulaire qui renvoyait vers la page "vierge", sans ttes les infos du formulaire forcément puisque la requête POST n'est + dispo...

    je vais dc virer cette redirection et utiliser des champs cachés ds le formulaire pr transférer mes infos de rechargement de la page

    merci à ts en tt cas pr m'avoir ouvert l'esprit... (je ne suis qu'un jeune padawan en ASP/JS...)


    ++

  10. #10
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    OK

    clique sur le bouton "Résolu" en bas de la page alors

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

Discussions similaires

  1. Menu deroulant ne marche pas sous IE6
    Par gaya102 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 20/06/2009, 10h13
  2. unserialize ne marche pas sous IE6 ?
    Par xclam dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2008, 13h51
  3. color transparent! marche pas sous IE6 => alternative?
    Par kleenex dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 01/03/2008, 12h09
  4. onChange="this.form.submit();" marche pas sous IE
    Par Death83 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/09/2005, 11h05
  5. [xhtml][css] bouton du form ne marche pas avec IE6
    Par chinouk dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/06/2005, 14h00

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