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 :

Message d'erreur si on n'a pas cliqué sur un bouton


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut Message d'erreur si on n'a pas cliqué sur un bouton
    Bonjour,


    J'ai un formulaire complexe de plusieurs pages, avec des variables de session.
    en bas de chaque page, j'ai un bouton submit "calculer le sous-total" qui enregistres les valeurs des différents champs ainsi que le total de la page.

    pour changer de page de formulaire, j'ai des images avec un action OnClick("envoyer_form('mapage.php');", cette fonction a la meme action que si on cliquait sur le bouton submit en page de page.

    voici la fonction utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <script language="javascript">
    function envoyer_form(pageTraitement) {
      document.form4.action = pageTraitement;
      document.form4.submit();
    }
    </script>
    Tout ceci marche très bien sur PC/Mac avec IE, Safari et Firefox.

    Par contre ceci ne marche pas sur Safari via PC/Mac et Ipad, et justement le but est d'utiliser le bon de commande sur Ipad principalement.

    Au lieu de mettre une fonction qui soumet le formulaire, je voudrais afficher un message d'erreur du genre "veuillez d'abord sauvegarder vos données", mais aussi ne pas avoir ce message d'erreur si on vient sur la page mais qu'on n'y a fait aucun changement.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Je n'ai pas vraiment compris ce qui ne fonctionne pas ni ce que tu veux modifier, en revanche, tu ferais mieux d'adopter une syntaxe valide pour une balise script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript">
    Pour rappel, l'attribut language est deprecated et sert à indiquer la version de JavaScript que tu souhaites utiliser (et du coup, language="javascript" est assez inutile...) alors que type est required et sert à fixer le type mime du script en question (logiquement, ça devrait être "text/ECMAScript", mais comme IE ne reconnait pas cette valeur, "text/javascript" est préférable).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    merci déjà pour ta réponse, je vais modifier ce code qu'il reste dans quelques pages..

    je ne comprends pas pourquoi cela ne marche pas pour ce script, alors que pour d'autres fonctions cela fonctionne.

    je suppose que le document.submit() ne fonctionne pas sous Safari...

  4. #4
    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,

    Comme Bovino, je n'ai pas bien compris ce qui ne fonctionne pas. Cherches-tu à faire quelque chose ressemblant à ce formulaire?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    voilà j'ai réglé mon problème autrement

    pour chaque champ à remplir, voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <input name="pince1" type="text" id="pince1" size="3" maxlength="2" class="nombre_produit" ONBLUR="javascript:if(!ValidNumber(pince1.value)) { document.form4.pince1.value='';
    document.form4.pince1.focus(); return false;}" value="<? echo $_SESSION['pince1'] ?>" tabindex="1" onChange="document.form4.submit();"/>
    donc mon total sera calculé dès qu'on passe d'un champ à l'autre

    et ici bizarrement le document.submit() marche avec Safari !!

    Allez comprendre.....

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par tomguiss Voir le message
    je suppose que le document.submit() ne fonctionne pas sous Safari...
    Citation Envoyé par tomguiss Voir le message
    et ici bizarrement le document.submit() marche avec Safari !!
    Je dois être miro
    Ou ça un document.submit ? (je vois bien les divers Form.submit... mais comme méthode de document ? )

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 142
    Points : 83
    Points
    83
    Par défaut
    évidemment je parlais de document.form.submit() .....

    et non document.submit() ...

  8. #8
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par tomguiss Voir le message
    évidemment je parlais de document.form.submit() .....

    et non document.submit() ...
    Oui je me suis dit à un moment que tu voulais peut-être dire ça mais... pas de submit() sur les form sous Safari ? Sérieux... ? Ca me paraissait trop gros pour que ça soit ça...

  9. #9
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    et si tu nous affichait ton formulaire et pas seulement un petit bout


    si j'ai bien compris tu as un formulaire
    et tu veux pas qu'on puisse l'envoyer sans passer par ton bouton

    moi je ferais un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form id='form4' onsumit="if (this.action == '') return false;else return true;">
    ainsi lorsque ton formulaire est validé snas passé par le bouton comme l'action est vide (tu peux choisir n'importe quel attribut) tu retourne faux donc le formulaire n'est pas soumis
    et comme dans ta fonction onclick tu affecte l'attribut action avant de soumettre le formulaire
    cette fois tu retourne vrai et le formulaire est soumis

    A+JYT

Discussions similaires

  1. Un message d'erreur que je ne comprends pas
    Par KOUTO dans le forum Bases de données
    Réponses: 7
    Dernier message: 22/01/2009, 17h25
  2. message d'erreur : stetybtm.dll n'a pas été localisé
    Par xanabat dans le forum Ordinateurs
    Réponses: 2
    Dernier message: 18/04/2007, 01h10
  3. Réponses: 18
    Dernier message: 07/02/2007, 14h33
  4. [Débutant] Message d'erreur que je ne comprends pas
    Par Le Furet dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2006, 17h37
  5. Réponses: 2
    Dernier message: 07/09/2005, 09h55

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