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

jQuery Discussion :

Jquery/AJAX function click qui ne fonctionne pas.


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Jquery/AJAX function click qui ne fonctionne pas.
    Pour brièvement expliquer la fonction de ce formulaire, c'est tout d'abord une recherche via l'autocomplétion (qu'il faut que je règle à 3 caractères minimum) ensuite en appuyant sur valider, cela devrait charger la page test.php et me faire un listing des varibables PHP $_POST ou en tout cas me récupérer qqch.
    Au lieu de ça, j'ai la page index.php qui se recharge entièrement comme si le script n'était pas pris en compte.

    Ca fait un petit moment que je cherche un peu dans tous les sens, j'ai enlevé les javascripts inutiles, mais rien n'y fait, ma page test.php ne se charge pas.

    La page chargée avec le formulaire est la page index.php, page d'origine du script (ça n'a aucune incidence le nom, mais bon c'est juste au cas où cela pourrait aider)

    Dans un premier temps, la liste des applis jquery chargée (la version est la 1.3.2)

    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
    <script type="text/javascript" src="/js/jquery/jquery.js"></script>
    <script type="text/javascript" src="/js/validate/jquery.validate.js"></script>
    <script type="text/javascript" src="/js/autoComplete/jquery.autocomplete.js"></script>
     
     
     
    	<script type="text/javascript">
     
     
     
    	$(".button").click(function() 
    	{
    		//recuperation de la valeur qui de l'id #adresse
     
    		//lancement de la requete ajax pour envoyer l'adresse dans le fichier newsletter.php qui enregistrera les nouveaux abonnés
    		$.ajaxForm({
    			url: 'test.php',
    			type: 'POST',
    			data: $('#formulaire:input').serialize(),
    			success: function (data)
    			{
    				//renvoie du message pour confirmer ou infirmer l'inscription
    				$("#formulaire").html(data);
    				document.getElementById("formnewsletter").innerHTML=data;
    			},
    			error: alert("error on sait pas ou")
    		});
    		return false;	
    	});
     
     
    	</script>
     
    	<script type="text/javascript">
     
    	$("#foo").ready(function()
    	{
    		/*var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ");*/
    		$("#foo").autocomplete('searchBox.php').split(" ");
     
    		console.log("clicked: " + event.target);
    	});
     
    	</script>
    Et le code du formulaire, tout à fait standard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div class="in_cnt">
                        <form id="formulaire" action="" method="post">
                             <fieldset>
                             <p>
                                  <label for="foo">Signe :</label><br />
                                  <input type="text" name="foo" id="foo" value="" onkeyup="loadData();" style="width:250px" />
                                  <input type="submit" name="submit" class="button" id="submit_btn" value="Valider" style="width:250px" />
                             </p>
     
                             </fieldset>
                        </form>
                	</div>

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur JAVA/PHP
    Inscrit en
    Mai 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur JAVA/PHP

    Informations forums :
    Inscription : Mai 2008
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <input type="submit" name="submit" class="button" id="submit_btn" value="Valider" style="width:250px" />
    ça devrait être un type "boutton" non? Puisque sur l'événement click tu ne souhaites pas submit le formulaire mais déclencher une action/fonction qui ne doit pas recharger ta page.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    J'ai transformé l'évenement et pris le #form.submit (en modifiant le nom de l'élément par form dans le code HTML).

    Il rentre bien dans ma fonction, sauf qu'il me sort mon message d'erreur.

    Sinon par rapport au soucis avant, j'ai du rajouter le $(document).ready(function())

    J'ai plus qu'à trouver comment passer les données du formulaire maintenant.

    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
    $(document).ready(function()
    	{
    		$("#form").submit(function() 
    		{
    			//recuperation de la valeur qui de l'id #adresse
     
    			/*prompt("Are you sure you want to delete?",{buttons:
    			 {Ok:true,Cancel:false}});*/
     
    			 //var data = ;
     
    			//lancement de la requete ajax pour envoyer l'adresse dans le fichier newsletter.php qui enregistrera les nouveaux abonnés
    			$.ajaxForm({
    				url: 'test.php',
    				type: 'POST',
    				data: $('#form:input').serialize(),
    				success: function (data)
    				{
    					//renvoie du message pour confirmer ou infirmer l'inscription
    					$("#form").html(data);
    					document.getElementById("form").innerHTML=data;
    				},
    				error: alert("error on sait pas ou")
    			});
    			return false;
    		});
    	});

Discussions similaires

  1. Ajax cross-domain qui ne fonctionne pas
    Par fanfouer dans le forum jQuery
    Réponses: 11
    Dernier message: 27/10/2013, 01h45
  2. [Débutant] Evenement Click qui ne fonctionne pas.
    Par Milyshyn76 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/11/2012, 15h27
  3. Réponses: 2
    Dernier message: 20/08/2008, 23h09
  4. [AJAX] AJAX qui ne fonctionne pas sous IE
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/05/2008, 11h01
  5. function javascript qui ne fonctionne pas dans la balise <body>
    Par typikal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/04/2008, 16h45

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