Javascript/jQueryを使用してHTMLベースのフォームを送信しようとしていますが、何も送信しないようです。なぜこのjavascript/jQueryはHTMLフォームを送信しないのですか?
私のHTMLフォームは今です。
<form class="navbar-form navbar-right" role="form" id="loginForm" action="login.php">
<div class="form-group">
<input type="text" class="form-control" name="username" placeholder="Username">
</div>
<div class="form-group">
<input type="text" class="form-control" name="password" placeholder="Password">
</div>
<button type="submit" class="btn btn-primary">Sign In</button>
</form>
私のJavascriptコードは現在です。
$(document).ready(function() {
$("#loginForm").submit(function(e) {
e.preventDefault();
var $form = $(this);
var $url = $form.attr('action');
var $username = $("#username");
var $password = $("#password");
if ($username.val().length > 0 && $password.val().length > 0) {
var $posting = $.post(
$url, {
name: $username.val(),
password: $password.val()
}
);
$posting.done(function(data) {
alert("Username: " + data.name + "\nPassword: " + data.password);
});
} else {
alertify.warning("Username or password is empty!");
}
});
})
いいえ編集!一貫性があり、わかりやすいインデントと、これまでに診断したことのより詳細な説明があれば、より良いでしょう。 –
どこで失敗するのか? JavaScriptコンソールにエラーはありますか?デバッガをステップ実行すると、コードは期待通りに実行されますか? AJAXリクエストは作成されていますか?あなたは期待しているデータを持っていますか?サーバーの応答は何ですか? – David
ドキュメントから:イベントオブジェクトの.preventDefault()を呼び出すか、ハンドラからfalseを返すことで、送信アクションをキャンセルできます。 –