Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX] Problème lors de l'envoie d'un formulaire.

J'ai vraiment tout essayé, au secours ! ;(

Sujet résolu
    12 novembre 2008 à 18:16:49

    Bonjour les Zér0s ^^,

    Je suis entrain de coder un forum entièrement en AJAX (pour m'entraîner), et je bloque lors de l'envoie d'un nouveau sujet ! :(

    Voilà la fonction JavaScript en question :

    function ajouterSujet(form)
    {
        document.getElementById('message').innerHTML = 'Chargement en cours ...';
    	
    	var xhr;
    	
    	var titre = form.titre.value;
    	var categorie = form.categorie.value;
    	var message = form.message.value;
    	
    	if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); // Mozilla Firefox, Opéra, Safari, etc ...
    	else if(window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP'); // Internet Explorer.
    	else // Navigateur imcompatible.
        {
    	    alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
    		return;
    	}
    	
    	xhr.open('POST', '../ajax/ajax_poster.php', true);
    	
    	xhr.onreadystatechange = function()
        {
            if(xhr.readyState == 4) document.getElementById('message').innerHTML = xhr.responseText;
    	}
    	
    	xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
        var data = 'titre=' + escapeURIComponent(titre) + '&categorie=' + escapeURIComponent(categorie) + '&message=' + escapeURIComponent(message);
        xhr.send(data);
    	
    	return false;
    }
    


    Le code php marche, j'ai testé ! :D

    Merci infiniment de m'aider,

    Bonne soirée. :D

    EDIT : Lorsque j'envoie le formulaire, il y seulement le Chargement en cours ... qui apparaît ! :p
    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2008 à 20:57:44

      tu peux extraire apres le onsubmit de ton <form> après le submit : avec un return false, car sinon avec l'appel ::form.titre.value :: ça retourne les valeurs initiales (les valeurs par défaut don ton code html)
      ou bien tu donnes des id à tes champs et puis tu trouves les valeurs avec document.getElementById()
      • Partager sur Facebook
      • Partager sur Twitter
        12 novembre 2008 à 21:04:23

        Justement j'ai mis un onSubmit. Donc ça fait : <form action="forum.php" method="post" onSubmit="return ajouterSujet(this.form); return false;"> ?
        • Partager sur Facebook
        • Partager sur Twitter
          13 novembre 2008 à 0:35:02

          this.form ??
          ba normalement ta fonction ajouterSujet() doit recevoir en params les valeurs de tes champs, comme ça ton onsubmit devient:
          ajouterSujet(this.titre.value,this.categorie.value,this.message.value)

          donc tu modifies un peu ta fonction ajouterSujet( arguments )
          voilà
          • Partager sur Facebook
          • Partager sur Twitter
            13 novembre 2008 à 7:55:21

            Ok, merci pour ton aide, malgré tout ça ne marche toujours pas ! ;(


            J'ai résolu tout seul, mais merci quand même !!!
            • Partager sur Facebook
            • Partager sur Twitter

            [AJAX] Problème lors de l'envoie d'un formulaire.

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown