jQuery验证远程方法 - 如何发送多个变量[重复]

问题描述 投票:0回答:1

使用用户名可用性功能。对于现有用户更改其用户名,我希望将新用户名和人员ID传递给远程功能。此功能在后端工作正常(如果包含ID,它会查找除ID之外的用户名)。

添加ID(ID = sid的隐藏表单字段)会引发堆栈溢出错误“超出最大调用堆栈大小”。传递用户ID和建议的新用户名的正确方法是什么?

new_username: {
  remote: {
    url: [url to function],
    type: 'post',
    data: {'sid':sid, 'new_username':new_username},
    dataFilter: function(data, type){
        return type == 'json' ? data.replace(/^(\/{2})?/, '') : data;
    }
  }
}

HTML表单如下所示:

<form class="stdForm" id="jqv" name="stForm" action="" method="post">
    <input type="hidden" name="sid" id="sid" value="12345"/>
    <div>
      <label for="new_username">Login Username</label>
      <input type="text" name="new_username" id="new_username" value="[current username]" />
    </div>
    <div>
        <input type="submit" value="Update"/>
    </div>
</form>

完整的javascript是一个很长的jquery验证脚本。 “new_username”和“sid”字段未在表单中的任何其他位置引用。当我发送用户名(没有ID)时,我有一个单独的规则集可以工作:

username_check: {
  remote: {
    url: [url to function],
    type: 'post',
    dataFilter: function(data, type){
        return type == 'json' ? data.replace(/^(\/{2})?/, '') : data;
    }
  }
}

其中username_check是表单中字段的ID。

jquery jquery-validate
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.