簡體   English   中英

jQuery id選擇器和validate.js

[英]jQuery id selector and validate.js

所以我在看幾天前寫的一些代碼,它運行得很完美,我完全不知道怎么做。 我希望你們中的一個可以幫助我。

在我的驗證代碼中,我正在執行一些ajax請求。 這是使用“遠程”標簽完成的。 這些請求將表單中輸入的用戶名和電子郵件發送到服務器。

 $("#signup-form").validate({
    rules: {
        username: {
            required: true,
            remote: {
                url: "/CheckDuplicateUsername/",
                type: "get",
                data: { 
                    username: $("#username").val()
                }
            }
        },

        email: {
            required: true,
            remote: {
                url: "/CheckDuplicateEmail/",
                type: "get",
                data: { 
                    email : $("#email").val()
                }
            }
        },
//More code

請注意,我將電子郵件和用戶名字段中的值發送到服務器。 我使用ID獲取這些值。 我想我從表單的標簽中獲取了這些數據。 現在讓我告訴你我的HTML。 請注意,我的用戶名和密碼標記中的ID與我上面的jQuery代碼中使用的ID不同。

<div class="fieldWrapper">

              <label for="id_username">Username: </label>
              <input id="id_username" type="text" placeholder="First Name" name="username" maxlength="30" class="valid">
           </div>

<div class="fieldWrapper">

                <label for="id_email">Email</label>
                <input id="id_email" type="text" placeholder="Email" name="email" maxlength="75">
           </div>

我的兩個輸入標簽分別具有id“id_username”和“id_email”。 但驗證代碼選擇帶有“用戶名”和“電子郵件”的標簽。 請注意,我的驗證代碼正在向服務器發送正確的數據。 如果我嘗試更改驗證代碼以選擇與“id_username”和“id_email”關聯的標記內的值,則會將空字符串發送到服務器。 怎么會這樣!?

謝謝!

當你有

rules: {
        username: {
...

這意味着驗證name屬性等於username字段。 當您指定remote選項,您可以使用data為附加字段發送數據。 就像在這個例子中插件docs:

“使電子郵件字段成為必需,一封電子郵件並執行遠程請求以檢查是否已經獲取給定地址。此外,http方法設置為”post“,用戶名將與電子郵件地址一起發送。”

$("#myform").validate({
  rules: {
    email: {
      required: true,
      email: true,
      remote: {
        url: "check-email.php",
        type: "post",
        data: {
          username: function() {
            return $("#username").val();
          }
        }
      }
    }
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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