jQueryで入力を検証しようとしています。入力が検証され、ajax が返された場合は success
、フォームの送信を許可する必要があります。で送信を防止していますe.preventDefault
私のスクリプトは:
$("#spsignin").submit(function(e){
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
var uname = $("input#name").val();
var pass = $("input#password").val();
$.ajax({
type: "POST",
url: "Login",
data: 'uname=' + encodeURIComponent(uname) + '&' + 'pass='
+ encodeURIComponent(pass),
dataType: "json",
success: function( data, textStatus, jqXHR) {
if (data == true) {
$("#spsignin").submit();
} else { //display error message
$("#error").show(1500).css({visibility: "visible"});
$("#error").append("<b>Invalid Username/Email or Password</b>");
}
},
//If there was no resonse from the server
error: function(jqXHR, textStatus, errorThrown) {
console.log("Something really bad happened " + textStatus);
$("#error").html(jqXHR.responseText);
},
});
送信アクションsuccess
を実行しますが、アクションを繰り返し実行します。post
コンソールにリクエスト数を表示する Firebug を意味します。post
また、応答中のリクエストの数も。
フォームは次のとおりです。
<form action="Signin" method="get" id="spsignin">
<input type="text" name="uname" class="text validate[required]"
id="name" placeholder="Username"/>
<input type="password" name="pass" class="text validate[required]"
id="password" placeholder="Password"/>
<input type="submit" value="" id="memberlogin"/>
</form>
ajaxでフォームを送信する方法を誰か教えてくださいsuccess
...ありがとう...