I have a basic login page with "login" and "password" input and a "login_button" submit. For a reason I do not find, I cannot trigger the ajax request when cliking on the login_button.
I came up with the following (simple) code using jquery:
$(document).ready(function(){
// Perform login
function log_in(login,password){
alert("log_in"); // this is never triggered
$.ajax({
url : '/api/login',
type : 'GET',
dataType : 'json',
data: 'login=' + login + '&password=' + password,
success : function(data, status, jqXHR){
alert("success");
alert(JSON.stringify(data));
alert(JSON.stringify(status));
alert(JSON.stringify(jqXHR));
},
error : function(jqXHR, status, err){
alert("error");
alert(JSON.stringify(jqXHR));
alert(JSON.stringify(status));
alert(JSON.stringify(err));
},
complete : function(jqXHR, status){
alert("complete");
alert(JSON.stringify(jqXHR));
alert(JSON.stringify(status));
}
});
}
// Add event on login button
$('#login_button').click(function(){
alert("click"); // this is triggered
login = $('#email').val();
password = $('#password').val();
log_in(login, password);
});
});
Any idea of what I'm missing ?
EDIT
The form is a simple bootstrap form:
<form class="form-signin">
<h2 class="form-signin-heading">Please sign in</h2>
<input id='email' type="text" class="input-block-level" placeholder="Email address">
<input id='password' type="password" class="input-block-level" placeholder="Password">
<label class="checkbox">
<input type="checkbox" value="remember-me"> Remember me
</label>
<button id='login_button' class="btn btn-large btn-primary" type="submit">Signin</button>
</form>
EDIT 2
Adding 'return false;' actually fixed the thing:
// Add event on login button
$('#login_button').click(function(){
alert("click"); // this is triggered
login = $('#email').val();
password = $('#password').val();
log_in(login, password);
return false;
});