嗯,我知道代碼的作品,因爲我在其他三個頁面上使用它,它工作正常,但我已經移動到使我的網站的移動版本。基本上,代碼用於實時登錄。它序列化用戶數據,顯示「登錄」消息,然後向文件發送ajax請求。該文件的響應內容將替換登錄消息,並根據情況發生不同的事情。我直接從一個工作示例中移植了代碼,現在,儘管代碼有很多更改,但jquery似乎根本沒有觸發。這裏是我的jQuery代碼:爲什麼我的jQuery代碼不工作?
function login() {
var dataString = $('#login_form').serialize();
console.log(dataString);
$(".menu_login_form").html("<center>Logging in...</center>");
$.ajax({
type: "POST",
url: "../include/actions/login.php",
data: dataString,
cache: false,
success: function(html){
$(".menu_login_form").html(html);
}
});
return false;
};
$("#login_form").on("submit", login);
這裏是我的html代碼:
<div class="menu_login_form">
<form id="login_form" method="post">
<input type="text" name="username" placeholder="Username"><br>
<input type="password" name="password" placeholder="Password" style=""><br>
<input type="checkbox" name="remember" checked="checked" style="margin:0;margin-right:10px;margin-top:-2.5px"><span>Remember Me</span><br>
<input type="submit" value="Login..." id="login_form_btn" class="btn">
</form>
</div>
有誰知道什麼是錯在這裏?
編輯:我現在正在工作,我只是把它放在錯誤的地方 - joeframbach我已經接受你的答案,因爲它是唯一的那裏。感謝您的所有建議。
使用網絡檢查器,檢查網絡選項卡。當你開始表單提交時,它會發出網絡請求。檢查它是否到達正確的文件位置,並檢查從服務器獲得的響應。 – Ohgodwhy 2013-03-23 21:44:24
那麼發生的事情是ajax請求根本沒有發送,表單只是像任何正常的表單一樣提交(網絡選項卡中沒有顯示,頁面只是刷新)。 – domo270897 2013-03-23 22:07:37
如何進行一些理智檢查。在控制檯中,運行'$(「#login_form」)'確保存在。運行'$('#login_form')。serialize()'確保它是正常的。 – 2013-03-24 01:41:55