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