[RESOLU] Vérifier si le champ est vide avant d'exécuter Javascript

Eléphant du PHP | 199 Messages

07 janv. 2017, 13:03

Bonjour à tous,

j'ai voudrais vérifier si le champ pseudo est vide avant de lancer le script Javascript. Mon script actuel lance la vérification dès que l'utilisateur sort du champ "pseudo".

Comment faire pour lancer Java uniquement si le champ n'est pas vide :?:
<script type="text/javascript">

	$("#pseudo").blur(function()
	{
	 $("#msgbox").removeClass().addClass('alert').text('Merci de patienter...').fadeIn("slow");
	 $.post("includes/check-pseudo.php" ,{ pseudo:$(this).val() } ,function(data)
	 {
	  if(data=='no')
	  {
	   $("#msgbox").fadeTo(200,0.1,function()
	   {
		$(this).html('Ce pseudo est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un autre...').addClass('alert-danger').fadeTo(900,1);
	   });
	  }
	  else
	  {
	   $("#msgbox").fadeTo(200,0.1,function()
	   {
		$(this).html('Ce pseudo est disponible').addClass('alert-success').fadeTo(900,1);
	   });
	  }
	 });
	});

      </script>
Le formulaire tout simple avec le message de vérification :
<input name="pseudo" type="text" placeholder="Pseudo" />

 <span id="msgbox" style="display:none">
Merci de votre aide.
Dernière édition par moogli le 09 janv. 2017, 14:39, édité 1 fois.
Raison : titre javascript c'est pas java

Mammouth du PHP | 872 Messages

07 janv. 2017, 15:01

ajouter au début de la fonction :
if(pseudo:$(this).val() != ""){
// le reste du code
}
else{
// faire quelque chose pour avertir qu'il faut remplir le champ pseudo
}

Eléphant du PHP | 199 Messages

07 janv. 2017, 16:29

J'ai fait ça mais du coup j'ai plus d'info dans le message même quand le pseudo est renseigné : ne faut-il pas ajouter un fonction dans le input pseudo ?
if(pseudo:$(this).val() != ""){

  $("#pseudo").blur(function()
  {
   $("#msgbox").removeClass().addClass('alert').text('Merci de patienter...').fadeIn("slow");
   $.post("includes/check-pseudo.php" ,{ pseudo:$(this).val() } ,function(data)
   {
    if(data=='no')
    {
     $("#msgbox").fadeTo(200,0.1,function()
     {
    $(this).html('Ce pseudo est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un autre...').addClass('alert-danger').fadeTo(900,1);
     });
    }
    else
    {
     $("#msgbox").fadeTo(200,0.1,function()
     {
    $(this).html('Ce pseudo est disponible').addClass('alert-success').fadeTo(900,1);
     });
    }
   });
  });
}
else{

     $("#msgbox").fadeTo(200,0.1,function()
     {
   $(this).html('Pseudo vide !').addClass('alert-danger').fadeTo(900,1);
     });
    
}

Eléphant du PHP | 199 Messages

07 janv. 2017, 18:00

J'ai trouvé la solution, si ça peut aider :
$("#pseudo").blur(function()
	{
	 $("#msgbox").removeClass().addClass('alert').text('Merci de patienter...').fadeIn("slow");
	 $.post("includes/check-pseudo.php" ,{ pseudo:$(this).val() } ,function(data)
	 {
	 if(data=='empty')
	 	 {
		 
	   $("#msgbox").fadeTo(200,0.1,function()
	   {
		$(this).html('Pseudo vide !').addClass('alert-danger').fadeTo(900,1);
	   });
	  
	 }
	 else if(data=='no')
	  {
	   $("#msgbox").fadeTo(200,0.1,function()
	   {
		$(this).html('Ce pseudo est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un autre...').addClass('alert-danger').fadeTo(900,1);
	   });
	  }
	  else
	  {
	   $("#msgbox").fadeTo(200,0.1,function()
	   {
		$(this).html('Ce pseudo est disponible').addClass('alert-success').fadeTo(900,1);
	   });
	  }
	 });
	});