JavaScript - 如何从另一个字符串中删除字符串的所有实例和字符串的一部分/如何在提交时将字符串附加到表单参数?

标签 javascript asp.net forms

我有一个 ASPX 登录页面,其中有一个简单的登录表单,提交如下所示:

<input type="submit" name="LoginUser$LoginButton" value="Login" onclick="appendDomain();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;LoginUser$LoginButton&quot;, &quot;&quot;, true, &quot;LoginUserValidationGroup&quot;, &quot;&quot;, false, false))" id="LoginUser_LoginButton">

单击“提交”后,我将域“abc\”附加到用户名:

  function appendDomain(){
                var un = $("#LoginUser_UserName").val();
                $("#LoginUser_UserName").val("abc\\"+un);
  return true;         
  }

问题是,因为我在提交表单之前附加了“abc\”,所以浏览器会将提交的用户名记住为“abc\testUserName”

enter image description here

因此,如果我再次提交,用户名将提交为“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/

相关文章:

c# - 如何将 C# 变量的值传递给 javascript?

CSS:相同的联系方式,不同的外观

c# - 关闭所有子窗体时退出应用程序

javascript - DataTable JS 插入问题

javascript - textContent 与 innerText 之间的区别

javascript - javascript 中使用 math.floor 函数反转数组

c# - 如何处理 ((List<string>)Session.Add ("")

javascript - 无法在angularJs中获取我的对象的属性值

c# - 我无法从我的 ASP.NET MVC3 ViewModel 中获取月、日、年下拉列表

reactjs - 为 Final-form-arrays 中的数组提供初始值会导致状态更改重置整个表单,我该如何防止这种情况?