我有一个 ASPX 登录页面,其中有一个简单的登录表单,提交如下所示:
<input type="submit" name="LoginUser$LoginButton" value="Login" onclick="appendDomain();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("LoginUser$LoginButton", "", true, "LoginUserValidationGroup", "", false, false))" id="LoginUser_LoginButton">
单击“提交”后,我将域“abc\”附加到用户名:
function appendDomain(){
var un = $("#LoginUser_UserName").val();
$("#LoginUser_UserName").val("abc\\"+un);
return true;
}
问题是,因为我在提交表单之前附加了“abc\”,所以浏览器会将提交的用户名记住为“abc\testUserName”
因此,如果我再次提交,用户名将提交为“abc\abc\testUserName”,然后是“abc\abc\abc\testUserName”,依此类推。
是否有更好的方法将域名附加到用户名上?如果不是,那么编写 appendDomain()
函数的更好方法是什么?删除将“abc\testUserName”、“testUserName”、“abc\abc\abc\testUserName
”等转换为“abc\testUsername
”
最佳答案
添加之前请确保它不存在。
var userName = $("#LoginUser_UserName")
var un = userName.val();
if (un.indexOf("abc\\")===-1) {
userName.val("abc\\" + un);
}
关于JavaScript - 如何从另一个字符串中删除字符串的所有实例和字符串的一部分/如何在提交时将字符串附加到表单参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283632/