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 :

Empêcher ou non la soumission d'un formulaire en jQuery


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut Empêcher ou non la soumission d'un formulaire en jQuery
    Bonjour à tous, je souhaiterai empêcher ou non la soumission de mon formulaire jQuery en passant par une requête AJAX dont voici le code ci-dessous :

    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
    $(function()
    {	
     
    $('div#connexionBox form').submit(function()
    	{
    			var pseudo = $('div#connexionBox form input[name="pseudo"]').val();
    			var bool = null;
     
    			$.post({
    				url: 'test.php',
    				data: {login: pseudo},
    				success: function(data)
    				{
    					if(data == 'true')
    						return true;
    					else
    						return false;
    				}
    			});
    	});
    });

    Côté Php tout va bien, la valeur de la variable data est bien celle attendu. Mais, le formulaire est toujours soumis, ce qui ne devrait pas être le cas. J'ai aussi essayer d'attribuer à bool la valeur true ou false (en fonction du test) et de mettre "return bool;" après ma requête AJAX, mais c'est pas pareil, selon mes tests, bool reste à null.

    Si quelqu'un peu m'aider à ce sujet, ce serait cool

  2. #2
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    tu as deux data !

    et ton test est dans le success ! donc une fois l'ajax envoyé et le retour réussi !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $('div#connexionBox form').submit(function()
    	{
               sendmenot=true;
               if(sendmenot){alert('envoi refusé!);
                                   return false;}
     
    ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Par défaut
    Bon pour les deux data, j'ai compris, j'ai remplacé le deuxième par resp, mais après ça reste assez flou. Mon booléen dépend directement (et maintenant de) resp. Or resp est déterminé dans par Php, et je n'arrive pas à récupérer cette valeur ailleurs que dans success...

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    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
    // FAQ jQuery : http://javascript.developpez.com/faq/jquery/?page=Ajax#AjaxRequest
     
    $.post("test.php", { login: $('div#connexionBox form input[name="pseudo"]').val() }, function(data, textStatus, jqXHR) {
    	// pour debug
    	// console.log(data, textStatus, jqXHR);
     
    	// succès de la transaction, on doit traiter le contenu de data
    	if(data == 'true'){
    		$('#connexionBox form').submit(function(){
    			...
     
    			return true; // false pour ne pas soumettre
    		});
    	}
     
    }).error(function(jqXHR, textStatus, errorThrown){
    	// pour debug
    	//console.log(jqXHR, textStatus, errorThrown);
     
    	// échec de la transaction, gérer la catastrophe
    	alert("Zut !");
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/04/2007, 15h29
  2. mozilla , soumission d'un formulaire dans un cadre different
    Par japz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/05/2006, 17h10
  3. [Javascript] Validation soumission d'un formulaire
    Par nico33307 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/11/2005, 15h05
  4. Réponses: 2
    Dernier message: 10/11/2005, 20h00
  5. [JSP]Problème de double soumission d'un formulaire
    Par jgfa9 dans le forum Servlets/JSP
    Réponses: 31
    Dernier message: 24/08/2005, 11h54

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