problème fonctionnement script

Toutes vos questions sur jQuery, CSS, HTML5, mise en page...
devgame
 
Messages: 39
Inscription: 02 Aoû 2013, 07:16

problème fonctionnement script

Messagede devgame » 02 Oct 2014, 11:27

Bonjour

J'ai un soucis avec jquery.

Certains script ne fonctionne aléatoirement.

J'utilise dreamweaver pour développer mon site.

exemple:

Ce matin, je créé un script ca ne fonctionne pas, et là ce midi ca fonctionne sans modifier le code.

Peut être que j'insert mal la librairie jquery sur mes pages.

D'où peut venir ce soucis?

A bientôt

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2180
Inscription: 06 Sep 2008, 22:05

Re: problème fonctionnement script

Messagede Galdon » 02 Oct 2014, 18:45

Je vais avoir dû mal à t'aider si tu ne donne pas plus d'infos, à commencer par le code en question.
Tu test sur quel navigateur ?
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

devgame
 
Messages: 39
Inscription: 02 Aoû 2013, 07:16

Re: problème fonctionnement script

Messagede devgame » 04 Oct 2014, 05:04

Bonjour

Mon navigateur est IE 11

Voici le code html:
Code: Tout sélectionner
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans nom</title>

</head>
<script src="javascript/inscriptionmembre.js" type="text/javascript"></script>
<script src="jquery/jquery-2.1.1.min.js" type="text/javascript"></script>

<body>
         
      <div id="formulaireinscript">
       
         <form id="signup_form" action="signup.php" method="post">
           
           <fieldset>
           <legend>INSCRIPTION</legend>
         
           <label for="pseudo">pseudo:</label>
          <span class="field_success"></span>
          <span class="field_error"></span>
           <input type="text" name="pseudo" id="pseudo">
         
           
           
            <label for="pass">mot de passe:</label>
            <span class="field_error"></span>
            <input type="password" name="pass" id="pass">
           
            <label for="mail">email:</label>
            <span class="field_error"></span>           
            <input type="text" name="email" id="email">
           
            <input type="submit" name="incript" id="incript" class="submit" value="Envoyer">
           
            <div class="loader"></div>
            </fieldset>
                     
           
           </form>
   </div>




Voici le code js

Code: Tout sélectionner
$(document).ready(function() {
   
      $('#success_message').hide();
        $('#signup_form').hide();
        $('.field_error').hide();
        $('.field_success').hide();
        $('.loader').hide();
       
   
       $('#signup_form').click(function(e){
         
           var link = 'signup.php';
         $('.loader').show();
         var pseudo = $('#pseudo').val();
            var email = $('#email').val();
             var pass = $('#pass').val();
             var valid = true;
      
       if($('#pseudo').val()=='')
          {
            valid = false;
            $('.loader').fadeOut();
            $('#pseudo').prev('.field_error').fadeIn();
          }
          else
          {
            $('#pseudo').prev('.field_error').fadeOut();
          }
      if(!$('#email').val().match(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/))
          {
            valid = false;
            $('.loader').fadeOut();
            $('#email').prev('.field_error').fadeIn();
          }
         
          else
          {
            $('#email').prev('.field_error').fadeOut();
          }
   
       if($('#pass').val()=='')
          {
            valid = false;
            $('.loader').fadeOut();
            $('#pass').prev('.field_error').fadeIn();
          }
          else
          {
            $('#pass').prev('.field_error').fadeOut();
          }
         
       if(valid)
          {
            $.post(link,{pseudo: pseudo, email: email, pass: pass, ajax: '1'},
                   function(data){
                    if(data==true)
                    {
                      $('#signup_form').slideUp();
                      $('#success_message').slideDown().text('Consultez votre email');
                    }
                    else if(data=='Pseudo pris')
                    {
                      $('.loader').fadeOut();
                      $('#pseudo').prev('.field_error').fadeIn();
                    }
                    else if(data=='Email existant')
                    {
                      $('loader').fadeOut();
                      $('#email').prev('.field_error').fadeIn();
                    }
                   });
          }

   return false;
   
   });
   
   $('#pseudo').keyup(function(){
          var pseudo = $('#pseudo').val();
          var link = 'check_pseudo.php';
         
          $.get(link,{p: pseudo},
                function(data){
                  if(data==true)
                  {
                    $('.field_success').show();
                    $('#pseudo').prev('.field_error').hide();
                  }
                  else if(data==false)
                  {
                    $('.field_success').hide();
                    $('#pseudo').prev('.field_error').show();
                  }
                  else if(data=='no')
                  {
                    $('.field_success').hide();
                    $('#pseudo').prev('.field_error').hide();
                  }
                });
        });
       
        $('#email').keyup(function(){
          var email = $('#email').val();
          var link = 'check_email.php';

          $.get(link,{e: email},
                function(data){
                  if(data==false)
                  {
                    $('#email').prev('.field_error').show();
                  }
                  else if(data==true)
                  {
                    $('#email').prev('.field_error').hide();
                  }
                 
                  else if(data=='no')
                  {
                    $('#email').prev('.field_error').hide();
                  }
                });
      });
});




Mon souci est quand je valide, c'est le fichier php qui traité sans passer par le fichier javascript.

Pourriez vous me dire si il y a une erreur dans mes codes?

A bientôt

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2180
Inscription: 06 Sep 2008, 22:05

Re: problème fonctionnement script

Messagede Galdon » 04 Oct 2014, 10:20

Je vois 2 problèmes :
  • Il manque les balises de fermeture </body> et </html>
  • Tu as inclus ton script inscriptionmembre.js avant jQuery, du coup ça provoque forcément une erreur JS car tu appelles une fonction qui n'existe pas ($) puisque jQuery n'a pas encore été inclus. Il faut toujours inclure jQuery en premier.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

devgame
 
Messages: 39
Inscription: 02 Aoû 2013, 07:16

Re: problème fonctionnement script

Messagede devgame » 05 Oct 2014, 10:54

Bonjour

Ca ne fonctionne toujours pas.

Le problème vient peut être du css.

De plus, j'ai développé mon site avec l'aide de ce tuto, peut être que mon soucis vient de là.

http://www.youtube.com/watch?v=qfUEFQexkAQ
A bientôt

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2180
Inscription: 06 Sep 2008, 22:05

Re: problème fonctionnement script

Messagede Galdon » 05 Oct 2014, 13:10

Créé une page d'exemple pour reproduire le bug, sur http://jsbin.com/, sinon je ne peux pas t'aider.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

devgame
 
Messages: 39
Inscription: 02 Aoû 2013, 07:16

Re: problème fonctionnement script

Messagede devgame » 06 Oct 2014, 05:08

Bonjour

Voici le lien

http://jsbin.com/rudanupicuwi/1/

A bientôt

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2180
Inscription: 06 Sep 2008, 22:05

Re: problème fonctionnement script

Messagede Galdon » 06 Oct 2014, 10:46

Dans la page que tu a donné, le problème que j'ai remonté n'a pas été corrigé : jQuery n'est toujours pas inclus avant, tu a écrit :

Code: Tout sélectionner
<script src="javascript/inscriptionmembre.js" type="text/javascript"></script>
<script src="jquery/jquery-2.1.1.min.js" type="text/javascript"></script>


Au lieu de :

Code: Tout sélectionner
<script src="jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="javascript/inscriptionmembre.js" type="text/javascript"></script>


En plus ces balises sont placées entre </head> et <body>, elles n'ont rien à faire là, tu les mets soit dans <head> soit dans <body> mais pas directement à la racine de <html> comme c'est le cas actuellement ;)
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol


Retourner vers HTML / CSS / Javascript

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité