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 :

Script error sur envoi de formulaire sous IE


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut Script error sur envoi de formulaire sous IE
    Bonjour,

    Je cherchais depuis 2 jours pourquoi l'envoi d'un formulaire contenant une <textarea> me donnait une erreur "Syntaxe incorrecte".

    Par acquis de conscience, j'ai fini par tester la page sous Firefox.... Et le code passe.

    Si quelqu'un arrive a le faire fonctionner sous IE ou à me trouver le pourquoi du message d'anomalie, ça me plairait bien. En supprimant des lignes, à un moment, on arrive à ce que le formulaire passe, mais je ne trouve aucune logique. D'autant que j'utilise cette page depuis pas mal de temps, et que des shell beaucoup plus long et complexe passent sans problème.

    Quelqu'un peut il me dire ce qu'il en pense, voici le code pour créer la page html...
    <HTML><HEAD><TITLE>Intranet TUXEDO MMA : Fichiers de gestion des tuxedo's</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"></HEAD>
    <BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
    <FORM name=creation action=file.php method=get><INPUT type=hidden value=C name=action>
    <center><TEXTAREA name=text rows=20 cols=100>#!/bin/sh
    ##################################################################
    echo "--------------------------------------------------------------------------------------------"
    echo "$(date +"%d/%m/%Y %T") : Test de declenchement de reconfiguration de Tuxedo sur $(uname -n)"
    echo "--------------------------------------------------------------------------------------------"
    CurDir=`dirname $0`
    cd $CurDir
    SRepsup=`basename $PWD`
    if [ "$SRepsup" != "exploit" ]
    then echo "--------------------------------------------"
    echo " ATTENTION MAUVAIS REPERTOIRE DE LANCEMENT "
    echo " "
    echo " Changez de repertoire "
    echo " Relancez votre commande "
    echo "--------------------------------------------"
    exit
    fi
    . $PWD/setenv.sh 1>/dev/null 2>&1
    flag_exit="o"
    flag_swap_file=$(grep -v -e "^#" $RACINE_APPTUX/exploit/Rconf_tuxedo.ini | grep -e "swap_file" | awk -F"=" ' { print $2 } ')
    if [ "$flag_swap_file" = "o" ]
    then
    echo " - Prise en compte des modifications sur le SI demande"
    fi
    if [ "$flag_swap_file" = "o" ]
    then
    # echo flag_swap_file=$flag_swap_file
    echo "--------------------------------------------------------------------------------------------"
    else
    echo "--------------------------------------------------------------------------------------------"
    echo "$(date +"%d/%m/%Y %T") : Pas de reconfiguration de tuxedo en cours de traitement sur $(uname -n)"
    echo "--------------------------------------------------------------------------------------------"
    exit
    fi
    echo "--------------------------------------------------------------------------------------------"
    echo "$(date +"%d/%m/%Y %T") : Debut de la reconfiguration de Tuxedo sur $(uname -n)"
    echo "--------------------------------------------------------------------------------------------"
    # remise à linitial du fichier ini
    cp $RACINE_APPTUX/exploit/Rconf_tuxedo.ini.inactif $RACINE_APPTUX/exploit/Rconf_tuxedo.ini
    echo "$(date +"%d/%m/%Y %T") : Timer 120 secondes"
    time sleep 120
    if [ "$flag_swap_file" = "o" ]
    then
    sh renamenew.sh DIR=$RACINE_APPTUX/data
    fi
    echo "--------------------------------------------------------------------------------------------"
    echo "$(date +"%d/%m/%Y %T") : Fin de la reconfiguration de Tuxedo sur $(uname -n)"
    echo "--------------------------------------------------------------------------------------------"</TEXTAREA>
    <p>
    <A onclick="javascript:document.creation.submit();" href="#" target=_self>Valider</A></form>
    </BODY></HTML>
    Merci d'avance,
    Loïc

  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,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A onclick="javascript:document.forms['creation'].submit();" href="#" target=_self>Valider</A>


    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Merci pour la réponse, mais sous IE, le comportement est identique, toujours la même erreur. Et toujours un fonctionnement correct sous firefox;

  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
    Citation Envoyé par loick2000
    Merci pour la réponse, mais sous IE, le comportement est identique, toujours la même erreur. Et toujours un fonctionnement correct sous firefox;
    Alors l'erreur provient peut être du contenu du textarea, généré par ton shell ...

    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par E.Bzz
    Alors l'erreur provient peut être du contenu du textarea, généré par ton shell ...

    A+
    En fait, le code dans la textarea n'est pas généré par du shell, c'est un programme en shell. En fait, je met en base de données mes shell génériques, avec les machines sur lesquelles il doivent être déployés. Je fait mes tests sur un environnement unix particulier, et lorsque mon shell est fiable, je le met dans la base grace à ce formulaire (qui évidemment contient en réalité beaucoup plus de variables). Et je lance ensuite un dispaching sur toutes les machines UNIX. Le tout me sert à avoir partout les mêmes shell, et surtout à ne pas oublier de machines lors du déploiement d'une modification.

    Il me semble évidemment que l'erreur vient du shell qui est dans la textarea, mais j'utilise cette page depuis plus d'un an pour pas mal d'autre shell, souvent plus long, et ça marchait bien jusque là (ça marche d'ailleurs toujours bien sous firefox, mais "officiellement", je ne l'ai pas sur mon poste de travail).

  6. #6
    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
    Yes. Je vois bien le contexte

    Par contre, je vois moins l'erreur

    Elle vient bien du nav (pas du serveur) ?
    Il te donne un n° de ligne ?

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par E.Bzz
    Yes. Je vois bien le contexte

    Par contre, je vois moins l'erreur

    Elle vient bien du nav (pas du serveur) ?
    Il te donne un n° de ligne ?

    A+
    Oui, elle vient du navigateur. Le numéro de ligne, c'est tout simplement celui ou se trouve le "onclick="javascript:document.creation.submit();"

    Tu as pu mettre la page sur un site et essayer ?

  8. #8
    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
    Citation Envoyé par loick2000
    Tu as pu mettre la page sur un site et essayer ?
    Oui mais sans trouver.
    Enfin si :
    * pas de "javascipt:" dans le onclick
    * un input submit serait plus approprié
    * le nom de l'input hidden ("action") est très mal choisi (surtout dans un form)
    * le nom du textarea ("text") est moyen aussi.

    Mais rien qui fait avancer le schmilblick

    Les seuls que j'ai trouvé pouvant générer une erreur de syntaxe sont ci-dessus.
    Mais si tu dis que ça fonctionne depuis 1 an et que t'as rien changé

    Par conter, j'ai pas eu le temps d'analyser l'url générée. Mais ça m'étonne qu'une fois générée elle puisse causer une erreur de syntaxe ...

    Bonne chance ...

    A+

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Je vais regarder tout ça, mais je penche de plus en plus vers un bug du javascript IE....

    Pour l'url générée, lorsque l'on retire un certain nombre de ligne dans le textarea, elle est parfaite. Par contre, il faudra que je fasse un copier-coller de celle généré par firefox pour la coller dans IE, ne serait ce que pour voir le comportement....

    Allez, semaine terminée, on verra lundi si un gentil internaute a déjà rencontré ce type de bug.

    Bon WE à toi et merci pour le temps passé.
    Loïc

  10. #10
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Bon, ben on est lundi matin, et personne n'a l'air de connaitre de solution à mon Pb...

  11. #11
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    pour aider, il faudrait que tu copie ici le code source de ta page générée (click droit --> source) (sous IE, puisque c'est avec lui qu'il y a problème), parce que là, ton problème est difficilement décelable, surtout pour quelqu'un qui comme moi ne connait pas le langage que tu montres (php ?)

    Ceci dit, j'ai déjà eu des problèmes par le passé avec des liens contenant un href="#" et un onclick

    essaye avant toute chose :
    <button type="submit">Valider</button>

    cordialement
    Roro

  12. #12
    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
    Citation Envoyé par roro06
    essaye avant toute chose :
    <button type="submit">Valider</button>
    J'avais testé : pas suffisant

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    roro06, le code que tu ne connais pas, c'est simplement du shell, langage de commande Unix (et linux). L'ensemble du code shell est entre <TEXTAREA> et </TEXTAREA>

    Le code que je donne dans le premier message est entièrement en html, il suffit de faire un fichier tmp.htm, et de mettre ce code dedans par copier-coller, la page s'affichera.

    Par contre, je viens de découvrir un autre truc incroyable :
    - Si la page est envoyé par un serveur apache (j'ai pas IIS pour essayer), elle donne une erreur sur la ligne qui contient l'envoie du formulaire. Et même avec certitude lorsque le "javascript:document.creation.submit()" est envoyé.
    - Si la page tmp.htm est dans un répertoire local (c:\temp par exemple) Il n'y a pas d'erreur, on boucle sur la page en cliquant sur "envoyer". C'est simplement du au fait que l'exécution d'une page locale par IE exécute bien "onclick", mais ne trouve pas la page associée au formulaire (file.php dans mon cas) et boucle donc sur file.htm, puisqu'il n'y a pas dans ce cas de gestion du 404.

    Ceci en utilisant IE comme browser dans les deux cas. Avec Firefox, la page fonctionne sans problème à partir d'un serveur http, et boucle comme IE pour un fichier local, évidemment.

    Je crois que je vais laisser tomber, ce ne peut être qu'un énorme bug IE, j'ai même essayé de taper mon shell à la main dans le textarea, il y a un moment où l'erreur javascript arrive, mais je suis incapable découvrir ce qui provoque l'anomalie (enfin la fausse anomalie).

    Je viens même d'essayer avec un shell que j'ai entré dans la base il y a environ 6 mois. Avec la page web, qui n'a pas été modifiée. La saisie provoque la même erreur. Alors qu'il y a six mois, elle fonctionnait. Je ne vois qu'une conclusion possible :

    L'un des patch de sécurité d'IE passé ces 6 derniers mois a modifié le comportement du javascript, je dois être tombé sur un cas hyper spécifique, mais je n'ai pas l'âme de décompiler l'interpréteur javascript de l'outil M$, je vais considérer que ma page ne fonctionne qu'avec mozilla, et basta.

    Intellectuellement, ça me dérange un peu, je suis un ancien du mainframe, et il y a 10 ans, jamais je n'aurais abandonné, mais depuis, j'ai appris la micro.

    Merci à tous pour votre aide, mais j'y ai personnellement passé plus de 3 jour/homme, et je ne voudrais pas vous faire perdre trop de temps pour un bug M$.

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A onclick="document.forms['creation'].submit();return false;" style="cursor:pointer;" target=_self>Valider</A>

  15. #15
    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
    Ouaip !
    J'ai laissé passé le "javascript:"

    Mais ça n'aurais marché dans aucun cas, et de plus avec un input type="submit" ça merdouille aussi

    A+

  16. #16
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    J'avoue que l'idée m'a fait espérer.

    Je ne connaissais pas cette façon d'envoyer un formulaire, qui permet de s'affranchir du href="#", je suis pas trop mauvais en html-php, mais le javascript, c'est pas encore le top.

    Malheureusement, le bug est toujours là.

    Mais le coup du cursor:pointer... j'adôôre.

  17. #17
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    le target=self ???
    si tu le vires ou que tu le remplace par

  18. #18
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Ben, il est en _self depuis le début, j'ai ajouté les " au cas où, j'ai même essayé de supprimer le target, puisque par défaut, c'est _self, mais ça ne change rien, le bug est toujours là sous IE.

    Quelqu'un a t'il réussi à faire fonctionner la page html donné dans le début du fil sous IE, parce qu'ici, quelquesoit le micro, le bug persiste.

  19. #19
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    déja si tu nous filait le code html plutot que le php ...

  20. #20
    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
    Citation Envoyé par SpaceFrog
    déja si tu nous filait le code html plutot que le php ...
    Y doit y avoir gourrage de discussion, SpaceFrog : c'est du HTML pur jus

Discussions similaires

  1. Script Google d'envoi de formulaire
    Par spip93 dans le forum APIs Google
    Réponses: 2
    Dernier message: 24/10/2014, 22h07
  2. [OL-2002] Champ rempli sur envoie dans formulaire Outlook
    Par Nightwing367 dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 27/09/2010, 19h31
  3. [AJAX] Script marche sur Firefox mais pas sous IE
    Par obito dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/03/2009, 11h50
  4. Réponses: 1
    Dernier message: 10/04/2006, 20h22
  5. Réponses: 2
    Dernier message: 03/02/2006, 15h12

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