11540 sujets

JavaScript, DOM et API Web HTML5

Hello à tous
Je n'arrive pas à trouver la solution à ce petit dev pourtant des plus évident. Cela m'indique systématiquement un mauvais login même en forçant traitement2.php avec un echo "true". (data==true).
Je ne comprends pas du tout la raison.
Merci pour votre aide.

le formulaire:

<form action="" method="post" id="login_form">
<ul>
<li> <label for="name">Password</label>
<input type="text" size="30"  name="password" id="password"  /></li>
<li> <label></label>
<input type="submit" id="login" name="login" value="LoginO" class="loginbutton" ></li>
</ul>
         </form>
         <span id="msgbox" style="display:none"></span>


Le script

<script type="text/javascript">
$(document).ready(function() {
$("#login_form").submit(function()
{
//retirer toutes les classes et ajoute la classe messagebox et commence le fading
$("#msgbox").removeClass().addClass('messagebox').text('Validation....').fadeIn(1000);
//check the username exists or not from ajax
$.post("traitement2.php",{ password:$('#password').val() } ,function(data)
{
	console.log("pass:" + $('#password').val());
	console.log("data:" + data);
if(data == 'true') //si le login est correct
{
$("#msgbox").fadeTo(200,0.1,function()  //début du fading dans messagebox
{
//ajoute un message et change la classe de la boîte et commence une autre couleur du fading
$(this).html('Connexion....').addClass('messageboxok').fadeTo(900,1,
function()
{
//redirection vers la page securisée
document.location='securise.php';
});
});
}
else
{

$("#msgbox").fadeTo(200,0.1,function() //démarrage du fading dans messagebox
{
//ajoute un message et change la classe de la boîte et commence une autre couleur du fading
$(this).html('Login invalide....').addClass('messageboxerror').fadeTo(900,1);
});      
}
});
return false; //ne pas soumettre le formulaire
});
//appel de ajax dans le champ password qui a le focus
$("#password").blur(function()
{
$("#login_form").trigger('submit');

	});
});
</script>


traitement2.php
<? echo"true";?>
A vrais dire je t'aiderais bien mais j'utilise une autre structure (organisation) pour faire des appels Ajax, exemple :

$("form#connexion").on("submit", function() {
	var login = $("#identifiant").val();
	var password = $("#motdepasse").val();
	
	if(login == "" || password == "") {
		alert("Tous les champs doivent êtres remplis");
	}else{
		$.ajax({
			url: "connexion.php",
			type: "post",
			data: {identifiant: login, motdepasse: password},
			beforesend: function(){
				alert("loading");
			},
			success: function(data){
				alert(data);
			},
			error:function(){
				alert("error ajax");
			}   
		});
	}
	return false;
});