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