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 :

Valider un formulaire sans afficher la page action


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 16
    Points
    16
    Par défaut Valider un formulaire sans afficher la page action
    Bonjour,
    En validant un formulaire, je souhaite accéder à une page php sans afficher cette page. J'ai cherché la solution mais je n'y arrive pas, pouvez-vous m'aider svp...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script>
    function action(id)
    {
    window.location = 'action.php?variable='+id;
    }
    </script>
     
    <form onsubmit="supprimer(100); return false;">
    <input type="submit">
    </form>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Bonjour,
    regarde du coté de la techno Ajax, on peut te conseiller au moins

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 16
    Points
    16
    Par défaut
    Ok merci

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 16
    Points
    16
    Par défaut
    J'ai trouvé. Je mets le code si çà peut aider certains.

    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
    <script>
    function action(id)
    {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'action.php?variable='+id);
    xhr.send(null);
    xhr.addEventListener('readystatechange', function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
    // code pour le changement dans la page
    }
    }, false);
    }
    </script>
     
    <form onsubmit="action(100);">
    <input type="submit">
    </form>

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 662
    Points
    44 662
    Par défaut
    Merci pour le retour.

    Tu peux également en profiter pour afficher un message à l'écran en retour de traitement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (xhr.readyState === 4 && xhr.status === 200) {
      // code pour le changement dans la page
      document.getElementById('id_retour').innerHTML = 'Enregistrement supprimé avec succès !'; // par exemple
    }

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 57
    Points : 16
    Points
    16
    Par défaut
    Oui çà j'avais trouvé
    Je désactive le bouton input :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (xhr.readyState === 4 && xhr.status === 200) {
    document.getElementById(id).disabled='false'
    }

  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 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
    En fait la désactivation du bouton submit devrait se faire plus tôt afin d'éviter les multiples ajax ...
    Du coup en cas d'échec d'enregistrement tu le réactives, en cas de succès tu affiches un message ....

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

Discussions similaires

  1. Valider formulaire sans recharger la page
    Par Timoune007 dans le forum AJAX
    Réponses: 0
    Dernier message: 14/07/2015, 02h12
  2. Valider un formulaire sans recharger la page
    Par .Spirit dans le forum jQuery
    Réponses: 17
    Dernier message: 21/11/2010, 02h56
  3. [AJAX] Transmettre un formulaire sans rechargement de page
    Par micka39 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/11/2007, 12h20
  4. Réponses: 2
    Dernier message: 21/06/2007, 11h10
  5. valider un formulaire sans submit
    Par mimagyc dans le forum Langage
    Réponses: 5
    Dernier message: 02/05/2007, 23h08

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