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

AJAX Discussion :

Simple test d'ajax


Sujet :

AJAX

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Simple test d'ajax
    Bonjour à tous et bonne année,

    Je suis débutant en Ajax je commence à peine à me pencher dessus mais je rencontre déjà un soucis.

    J'ai fais un formulaire simple :
    Code html : 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
    <form class=cf>
     
    <label>Qui êtes vous envers Paul ?</label></br>
     
    <select name=qui_com id="soflow" required >
     
     <option value="sup">Un supérieur</option>
     <option value="col">Un collègue</option>
     <option value="ami">Un amis</option>
     <option value="inc">Un inconnu</option>
     <option value="fam">Un membre de la famille</option>
     
    </select></br>
     
    <input class=focus type=text name=nom_com placeholder=Nom required></br>
     
    <input class=focus type=text name=prenom_com placeholder=Prenom required></br>
     
    <textarea name=message_com type=text id=input-message placeholder=Message required></textarea></br>
     
    <main class=container>
     
    <button class="myButt one" type=button onclick="request(commentaire_form);" class=customButton>
     
    <div class=insider></div>
    VALIDER
     
    </button>
     
    </main>
     
    </form>

    En gros en Ajax je veux faire en sorte que quand je clique sur envoyer ca analyse les valeurs des champs du formulaire et si y en a une de vide bah ça fasse une alert "ca marche pas" et si tout les champs sont remplie bah que ça fasse alert "Ca marche".

    Du coup j'ai fais ça :
    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
    function getXMLHttpRequest() {
        var xhr = null;
     
        if (window.XMLHttpRequest || window.ActiveXObject) {
            if (window.ActiveXObject) {
                try {
                    xhr = new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
            } else {
                xhr = new XMLHttpRequest();
            }
        } else {
            alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
            return null;
        }
     
        return xhr;
    }
     
    function request(callback) {
     
        var xhr = getXMLHttpRequest();
     
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                callback(xhr.responseText);
            }
        };
     
        var qui = encodeURIComponent(document.getElementsByName("qui_com").value);
        var nom = encodeURIComponent(document.getElementsByName("nom_com").value);
        var prenom = encodeURIComponent(document.getElementsByName("prenom_com").value);
        var message = encodeURIComponent(document.getElementsByName("message_com").value);
     
        xhr.open("POST", "test_com.php", true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send('Qui=' + qui + '&Nom=' + nom + '&Prenom=' + prenom + '&Message=' + message);
     
    }
     
    function commentaire_form(data) {
        alert(data);
    }
    et enfin la page php qui doit analyser les variables pour renvoyer le bon texte en fonction :
    Code php : 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
    <?php
     
    header("Content-Type: text/plain");
     
    if ((isset($_POST["Qui"]) AND !empty($_POST["Qui"])) AND (isset($_POST["Nom"]) AND !empty($_POST["Nom"])) AND (isset($_POST["Prenom"]) AND !empty($_POST["Prenom"])) AND (isset($_POST["Message"]) AND !empty($_POST["Message"]))) {
     
        echo "CA MARCHE";
     
    }
    else {
     
        echo "CA MARCHE PAS";
     
    }
     
    ?>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regardez dans la console de développement de votre navigateur si la requête AJAX est bien envoyée
    par exemple avec Firefox :
    https://developer.mozilla.org/fr/doc...ur_r%C3%A9seau

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    je rajouterais de vérifier que le formulaire n'est pas naturellement envoyé et que les vérifications de « confort » peuvent se faire coté client en javascript ou comme tu le fait en utilisant l'attribut required.

    Regarde du coté serveur ce que tu reçois via un var_dump($_POST) par exemple.

Discussions similaires

  1. Erreur "Objet requis" dans un simple test
    Par manu f dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/09/2010, 17h16
  2. impossible de faire fonctionner le plugin 'Simple Test'
    Par titou_777 dans le forum Eclipse PHP
    Réponses: 0
    Dernier message: 25/02/2009, 15h37
  3. [AJAX] simple affichage avec Ajax.Request ne fonctionne pas
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/12/2007, 09h35
  4. [AJAX] Mon premier test avec Ajax : échec
    Par Nasky dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/05/2007, 01h24

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