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 :

Touche entrée qui rafraichit ma page de manière intempestive


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut Touche entrée qui rafraichit ma page de manière intempestive
    Bonjour, c'est mon tout premier message ici. J'ai un peu honte de la question posée mais je ne trouve de réponse nulle part. Voici mon problème.

    J'ai une page php où j'utilise du javascript et de l'ajax.

    J'y ai un formulaire sans bouton submit et quand j'appuie sur la touche entrée, ma page est réaffichée, ce que je ne veux pas et ne comprends pas puisqu'il n'y a rien, a priori, dans ma page qui gère la touche entrée. Est-ce que quelqu'un pourrait me donner une piste de recherche ? Si besoin, je peux fournir mon code, mais il est long.

    Je poste dans la section javascript, persuadée que c'est de ce côté là que se situe mon pb.

    Merci à tous.

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    un input type image ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Nope.

    Voici le code de mon formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form method="post" action="taverne.php">         
      <p> 
          <label for="message"> <input type="text" name="message" id="message" value=""> 
           <input type='button' name='action' value='envoyer' onclick="ajoutmessage(<?php echo "'" . $_SESSION['pseudo'] . "'"; ?>, document.getElementById('message').value); return false;" /> 
      </p>
    </form>

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Il semblerait que cela proviennt du fait qu'il n'y ait qu'un seul input texte ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" action="javascript:alert('posté')">         
     
           <input type="text" name="message" id="message" value=""> 
           <input type="text" name="message" id="" value="" style='display:none'>      
           <input type='button' name='action' value='envoyer' onclick="return false;" /> 
     
    </form>
    parcontre la balise label est foireuse ... pas de balise de fermeture ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Oui, j'ai retiré le label qui ne servait à rien, en plus...

    Mais pourquoi il faudrait deux champs input de type texte pour éviter que la touche entrée ne fonctionne ?

    Je vais essayer mais je ne comprends pas...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Ca marche nickel. Merci beaucoup.

    Mais pourquoi ?

  7. #7
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    A priori ça a l'air d'être un comportement par défaut des forms avec un seul input ...
    Le fait de rajouter un second input en display none contrarie cette fonctionnalité ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Ben, celui qui a eu cette idée de fonctionnement par défaut devait avoir l'esprit tordu... Encore merci.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    * toussote *

    C'est encore moi... Après des tests plus complets avec une personne qui a Safari... Ca fonctionne sur IE et Mozilla mais pas Safari. Est-ce qu'il y aurait une autre astuce du même genre pour Safari ?

    Encore merci pour votre aide.

  10. #10
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    peut être qu'en le mettant en visibility:hidden .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="post" action="javascript:alert('posté')">         
           <input type="text" name="message" id="message" value=""> 
           <input type="text" name="message" id="" value="" style='visibility:hidden; width:0;height:0;'>      
           <input type='button' name='action' value='envoyer' onclick="return false;" /> 
    </form>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Merci, SpaceFrog. Je teste à mon retour de vacances et vous dis si ça marche.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Bon, ça ne fonctionne pas sous Safari, même avec les deux champs text affichés. Je l'indique pour les éventuels autres lecteurs de ce forum. Je vais me tourner vers la gestion de la touche entrée avec un onkeypress pour résoudre le problème.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 14
    Par défaut
    Bonjour, je viens donner la solution que j'ai trouvée.

    J'ai remplacé le champs button par un champs submit et ajouté un onsubmit à mon formulaire. Ainsi, j'ai pu lancer la fonction voulue lors de la validation de mon formulaire tout en conservant avec un submit qui se valide simplement par la touche "entrée" sous Safari, IE ou Mozilla.

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

Discussions similaires

  1. [MFC] la touche entrée
    Par Aradesh dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2005, 12h07
  2. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25
  3. Touche entrée
    Par Neptune8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/11/2004, 16h52
  4. Touche "Entrée" et fenetre modale
    Par pascalT dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/07/2004, 16h57
  5. touche entrée dans formulaire
    Par pram dans le forum XMLRAD
    Réponses: 8
    Dernier message: 15/04/2003, 09h13

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