簡體   English   中英

為什么即使密碼匹配后也沒有提交我的表格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM