我有一個登錄表單。在做登錄之前,我想確保用戶名和密碼是真實的..我試圖用ajax實現這一點,但到目前爲止它不工作..Ajax調用onSubmit不起作用
在我的表單中我正在調用函數check_user onSubmit。 這是我的代碼。
編輯:
function check_user(){
var username = $('#username').val();
var password = $('#password').val();
if(username.length>1 && password.length>1){
jQuery.ajax({
type : "POST",
url : "Something/check_user_exists.php",
data : {'username':username, 'password':password},
cache : false,
success : function(response) {
if (response == 1) {
alert ('true');
return true;
} else {
alert('false'); //this happens and goes to login.php
$('#username').css('border', '2px red solid');
document.getElementById("username").placeholder = "Wrong username or password";
$('#password').css('border', '2px red solid');
document.getElementById("password").placeholder = "Wrong username or password";
return false;
}
}
});
}else{
//when this happens it stays on the page
$('#username').css('border', '2px red solid');
document.getElementById("username").placeholder = "Wrong username or password";
$('#password').css('border', '2px red solid');
document.getElementById("password").placeholder = "Wrong username or password";
return false;
}
}
在我的PHP文件check_user_exists.php我也有這樣的代碼:創建的DEBUG.TXT文件:
$fp = fopen("debug.txt", "a") or die("Couldn't open log file for writing.");
fwrite($fp, PHP_EOL ."inside");
fflush($fp);
fclose($fp);
NEW。但只有當我使用Chrome。隨着Firefox不創建,所以我想在Firefox的AJAX不工作?
我的形式:
<form name="login_form" action="Something/login.php" method="post" onsubmit="return check_user(this);">
添加e.preventDefault();到功能第一行 – Babar
如果我這樣做,它立即進入action =「login.php」 – DJack
不使用輸入類型提交,使用輸入類型的按鈕,並觸發你的功能check_user on.click()事件列表的jquery – Babar