Py学习  »  Jquery

jquery远程验证-如何发送多个变量

Steve • 7 年前 • 2227 次点击  

使用用户名可用性功能。对于更改用户名的现有用户,我希望将新用户名和用户的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。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43932
文章 [ 1 ]  |  最新文章 7 年前
Meziane
Reply   •   1 楼
Meziane    7 年前

如果我理解您的问题,您不需要发送“新用户名”,因为它是自动发送的:

data: {'sid':sid},

看一看 this