繁体   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