Partage
  • Partager sur Facebook
  • Partager sur Twitter

$.ajax problème avec requete sql exécuté avec de l'ajax

Sujet résolu
    30 décembre 2008 à 18:30:50

    Bonjour à tous.

    Voila, j'ai encore un tout petit problème avec jquery. Je vous explique mon problème.

    J'ai un formulaire afin que les visiteurs laissent des commentaires. Ce formulaire doit fonctionner en parallèle avec la méthode jquery [B]$.ajax[/B]

    Voici mon formulaire:

    <div id="formulairecom">
    <h4 id="formulairecommentaire">Ajoute ton commentaire</h4>
    <div id="formulairecommentairebox">
    <form action="../../ajoutcommentaire.php" name="formulaire" method="post">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr><td width="50%">Pseudo : *</td><td><input type="text" name="pseudo" id="pseudo" style="width:250px;"/></td></tr>
    <tr><td width="50%">E-Mail : *</td><td><input type="text" name="mail" id="mail" style="width:250px;"/></td></tr>
    <tr><td width="50%">MSN :</td><td><input type="text" name="msn" id="msn" style="width:250px;"/></td></tr>
    <tr><td width="50%">Site internet :</td><td><input type="text" name="siteinternet" id="siteinternet" value="http://" style="width:250px;"/></td></tr>
    <tr><td width="50%">Blog :</td><td><input type="text" name="blog" id="blog" value="http://" style="width:250px;"/></td></tr>
    <tr><td width="50%">Note : *</td><td><select name="note" id="note"><option value="5" selected="selected">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select></td></tr>
    <tr><td width="50%">Commentaire : *</td><td><textarea name="commentaire" id="commentaire" style="width:250px;height:100px;" cols="50" rows="10"></textarea></td></tr>
    <tr><td colspan="2">
    <div style="display:none;">Ne pas compléter : <input type="text" name="name" id="name" /></div></td></tr>
    <tr><td colspan="2">
    <input type="hidden" name="id_actu" id="id_actu" value="<?php  echo $sql1['id_actu']; ?>" /></td></tr>
    <tr><td colspan="2">
    <input type="hidden" name="titre_actu" id="titre_actu" value="<?php  echo $sql1['titreurl']; ?>" /></td></tr>
    <tr>
    			<td colspan="2" align="center">
                            		<input type="submit" name="enregistrement" id="ajoutcom" value="Envoyer un message" />
    			</td>
    </tr>
    </table>
    </form>
    </div>
    </div>
    



    Ce formulaire est présent à dans une url du type:
    [url]http://domaine/article/titre_article/index.html[/url]

    La fonction [B]$.ajax[/B] utilisé est celle ci dessous.

    $(document).ready(function()
    {
    	$("#formulairecommentairebox").submit( function(event) {
      	event.preventDefault(); // empêche le traitement par défaut de l'évenement
    	});
    // 
    //Lorsque on clique sur le bouton submit présent dans le div id="formnewsletter" faire ....
    	$("#ajoutcom").submit(function()
    	{
    		//recuperation de la valeur qui de l'id #adresse
    		var pseudonyme = $("#pseudo").val();
    		var adressemail = $("#mail").val();
    		var adressemsn = $("#msn").val();
    		var site_internet = $("#siteinternet").val();
    		var adresseblog = $("#blog").val();
    		var notation = $("#note").val();
    		var comment = $("#commentaire").val();
    		var num_actu = $("#id_actu").val();
    		var nom = $("#name").val();
    		var enregistremt = $("#ajoutcom").val();
    		//regex pour vérifier synthaxe adresse mail
    		mailvalide = new RegExp ( "^\\w[\\w+\.\-]*@[\\w\-]+\.\\w[\\w+\.\-]*\\w$", "gi" ) ;
    		if(mail != '' && mail.search(mailvalide) == -1)
    		{
    			$("#formnewsletter").html("Entrez une adresse mail valide<form action=\"newsletter.php\" method=\"post\">Tape ton adresse mail:<input type=\"text\" name=\"adresse\" id=\"adresse\"/><input type=\"submit\" value=\"S'inscrire\"/></form>");
    			return false;
    		}
    		else
    		{
    				//lancement de la requete ajax pour envoyer l'adresse dans le fichier newsletter.php qui enregistrera les nouveaux abonnés
    			$.ajax({
    				url: '../../ajoutcommentaire.php',
    				type: 'POST',
    				data: 'pseudo=' + pseudonyme + '&mail=' + adressemail + '&msn=' + adressemsn + '&siteinternet=' + site_internet + '&blog=' + adresseblog + '&note=' + notation + '&commentaire=' + comment + '&id_actu=' + num_actu + '&nam=' + nom + '&enregistrement=' + enregistremt,
    				success: function (data)
    				{
    					//renvoie du message pour confirmer ou infirmer l'inscription
    					$("#formulairecommentairebox").html(data);
    					//document.getElementById("formnewsletter").innerHTML=data;
    				}
    			});
    			return false;	
    		}	
    	});
    });
    



    La page "ajoutcommentaire.php" est la page php contenant les requetes sql et le php permettant l'ajout d'un commentaire. Cette page est présente à l'adresse:
    [url]http://domaine/ajoutcommentaire.php[/url]

    Le problème que j'ai, est que l'exécution via $.ajax ne fonctionne pas. Et je ne vois pas du tout pourquoi. Enfin je pense qu'il doit y avoir une erreur au niveau de la mise en place de toutes les valeurs en méthode post.

    Quelqu'un pourrait-il m'aider? N'hésitez pas à me demander des informations supplémentaires pour m'apporter de l'aide.
    • Partager sur Facebook
    • Partager sur Twitter
    Dommage, impossible de mettre ma signature
      2 janvier 2009 à 12:01:21

      Salut,

      Une petite astuce avec jQuery pour recuperer les donnees d'un formulaire :

      var d = $("form").serialize();
      


      Ce qui pourrait donner :

      $.post("url", {data: d});
      


      ($.post est un raccourci pour faire un .ajax en post)
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2009 à 12:07:28

        c'est résolu, sa ne venait pas de cela?
        • Partager sur Facebook
        • Partager sur Twitter
        Dommage, impossible de mettre ma signature

        $.ajax problème avec requete sql exécuté avec de l'ajax

        × 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