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 compatibilité avec Internet explorer


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 215
    Par défaut jquery compatibilité avec Internet explorer
    Bonjour ,

    Voici mon problème :

    J'effectue une requete ajax sur la validation d'un formulaire , en cas de succès j'affiche une alerte javascript.
    Cela fonctionne très bien sur FF et google chrome mais pas sur IE.

    Voici mon code :
    js
    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() 
    {	   
    		$(".ajax").submit( function(e) {//on valide le formulaire
     
         e.preventDefault(); // on empeche l'envoi du formulaire par le navigateur
         var datas = $(this).serialize();
     
     
         $.ajax({
              type: 'POST',      // envoi des données en POST
              url: $(this).attr('action'),     // envoi au fichier défini dans l'attribut action (vefif.php) 
              data: datas,     // sélection des champs à envoyer
              success: function(data) {  
    		  // callback en cas de succès
    		if($(data).find('error').length > 0){
    		alert('error 1');
            return;
          }
    	  else if ($(data).find('pseudo').length > 0){
    		alert('error 2');
     
            return;
    	  }
    	  else if ($(data).find('credit').length > 0){
    		 alert('error 3');
     
     
            return;
    	  }
    	  else if ($(data).find('success').length > 0){
    		   alert('success');
     
    	  }
     
     
     
              }
         });
    	});
     
     
     
     });
    fichier verif.php appelé
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <?php 
     
    header('Content-type: text/html; charset=iso-8859-1');
     
    include("../ressources/fonctions.php");
     
    connexion();
     
     
    //ici je récupère les variables par methode post
     
     
    //requete sql 
     
    if   ( ($NbCreditUser-$NbCredit) < 0 )
    {
    		  echo '<response>';
      		  echo "<credit>Impossible ! Il vous reste $NbCreditUser crédits. Veuillez acheter des crédits</credit>";
              echo '</response>';
             exit(); // On s'arrête là
     
    }
     
     
     
    //requete sql 
     
     
     
    if($resu[0] == NULL)
    {
    	//Sum<PrixR
    	$Sum=0;
    	$PrixR=10;
    }
    else 
    {
     
    	$SumCredit = $resu[0];
    	$PrixR = $resu[1];
    	$Sum = $SumCredit*2;
    	$NbMaxPseudo = $resu[2];
    	if($Sum >= $PrixR)  
    	{
    		  echo '<response>';
      		  echo "<error>terminée $Sum $IdProduit</error>";
              echo '</response>';
             exit(); // On s'arrête là
    	}
    }
     
    //requete SQL
     
    $NbEncherePseudo = $res[0];
    if(!empty($NbMaxPseudo))
    {
    	if($NbEncherePseudo>$NbMaxPseudo)
    	{
    	 echo '<response>';
      		  echo "<pseudo>Nombre pour ce pseudo atteint</pseudo>";
              echo '</response>';
             exit(); // On s'arrête là	
     
    	}
     
    }
     
     
    	//requete sql 
     
    	echo '<response>';
    	echo '  <success>Success</success>';
    	echo '</response>';
     
     
     
    ?>
    J'ai simplifié ici le code php pour la compréhension en enlevant les requetes SQL et quelques traitements

    Sur FF ou sur chrome tt marche très bien :
    1 je valide le formulaire à l'aide du bouton
    2 le fichier php est donc appelé par ajax
    3 le traitement s'effectue
    4 En fonction du traitement une alerte s'affiche error 1,2,3 ou success)

    Je précise que sur IE le fichier php est bien appelé puisque les traitements en base de données marches. Mais c'est finalement le callback qui ne marche pas.

    Merci de votre aide

  2. #2
    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
    Bonsoir.

    Vous n'avez pas précisé le dataType, voir http://api.jquery.com/jQuery.ajax/

    IE ne supporte pas le XML en local.

    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. [Joomla!] Problème de compatibilité avec Internet Explorer
    Par Malum dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/07/2012, 12h56
  2. Problème de compatibilité avec internet explorer
    Par lison1 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 06/02/2009, 17h02
  3. [AJAX] compatibilité liste déroulante liée avec Internet Explorer IE
    Par pasc06 dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 09/12/2008, 19h16
  4. compatibilité avec Internet explorer 6
    Par blank dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/01/2008, 18h14
  5. pb de compatibilité avec Internet Explorer
    Par aztec dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/09/2007, 22h22

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