11521 sujets

JavaScript, DOM et API Web HTML5

ma boite de dialogue ne s'affiche pas et pourtant mon code est correct.

 $("#form_login").on("submit",function(){
 	var email =$("#log_email");
 	var pass =$("#log_pass");
 	var status =false;
 	if (email.val() == "") 
 	{
 		email.addClass("border-danger");
 		$("#e_error").html("<span class='text-danger'>Please Enter Email Address</span>");
 		status =false;
 	}
 	else
 	{
 		email.removeClass("border-danger");
 		$("#e_error").html("");
 		status =true;
 	}

 	if (pass.val() == "") 
 	{
 		pass.addClass("border-danger");
 		$("#p_error").html("<span class='text-danger'>Please Enter Password</span>");
 		status =false;
 	}
 	else
 	{
 		pass.removeClass("border-danger");
 		$("#p_error").html("");
 		status =true;
 	}

 	if (status) 
 	{
 		alert("Ready");
 	}
 })

Modifié par _laurent (08 Jan 2020 - 23:42)
Modérateur
*Bonjour

Ton code est plus ou moins correct.

Effectivement en l'état si tu remplis tes deux champs email et password tu devrais avoir ton alert qui pop : https://jsfiddle.net/undless/s54cno76/ (ca marche bien ici).

Tu as des erreur dans ta console ? Tu as bien intégré JQuery ?

Apres il nous manque ton code HTML (le formulaire) aussi, on sait jamais.

Sinon, outre l'indentation manquant (problème dans le copier coller ?) il y a un problème dans ton code. Tu utilise une seule variable status pour tes deux champs. Donc si on ne remplis pas l'email elle passe a false mais si on rempli le mot de passe elle repasse a true (et on zappe l’erreur de l'email, ca marche dans l'exemple tu peut essayer). Il te faudrait un booleen par champs et à la fin dans le if vérifier qu'ils sont tout les deux à true.