[英]why my form is not being submitted even after the passwords match.?
這是我的腳本,形式為id =“ details”
<script type="text/javascript">
function onLoad() {
$("#password").keyup(passCheck);
$("#repeatpass").keyup(passCheck);
}
function passCheck() {
var password = $("#password").val();
var repeatpass = $("#repeatpass").val();
if (password == repeatpass) {
$("#matchpass").text("Passwords match");
$("#matchpass").addClass("valid");
$("#matchpass").removeClass("error");
$("#details").submit(true);
} else {
$("#matchpass").text("Passwords donot match");
$("#matchpass").addClass("error");
$("#matchpass").removeClass("valid");
$("#details").submit(false);
}
}
$(document).ready(onLoad);
</script>
我想知道為什么不提交我的表單(id =“ details”),並且如果有人可以解釋此結構的工作原理,則對我會有所幫助。 謝謝
工作提琴 。
使用$("#details").submit()
代替$("#details").submit(true);
並刪除$("#details").submit(false);
。
希望這可以幫助。
對於初學者,您無需在else塊中進行.submit
調用。
此代碼分為三個步驟:
(1) .ready
命令告訴jQuery,當頁面准備就緒時,應執行名為onLoad
的函數。
(2) onLoad
函數告訴您,當按下鍵盤上的某個鍵時,應該調用passCheck
函數。
(3) passCheck
函數檢查兩個文本是否相等,如果相等,則提交表單,否則不提交(即,根本不應該調用.submit)。
最初兩個密碼可能都是空的,所以它們是相等的,並且嘗試了.submit
,但是由於出現錯誤而導致腳本停止工作的錯誤。 之后,腳本將完全停止工作。
上面提到的有關HTML代碼請求的注釋和提供給.submit
的參數的.submit
都是正確的。
您不應在submit
函數中傳遞參數,請刪除$("#details").submit(true);
和$("#details").submit(false);
它不在jquery API中編寫此代碼片段,將更好地使用:
$( "form" ).submit(function(event) {
if ( $( "span" ).hasClass('error')) {
alert('prevented');
event.preventDefault();
}
return;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.