我正在ASP.NET MVC中的Web应用程序上工作
我的HTML中包含以下代码部分:
<script>
$(function () {
$('.foo').click(function () {
var fooName = $("#fooName").val();
this.href = this.href.replace("xxx", fooName);
});
});
和:
<input type="text" value="@ViewBag.fooName" name="fooName" id="fooName" autocomplete="on" />
和:
@Html.ActionLink("Action", "ActionName", new { someObject = item.ID, fooName="xxx"}, new { @class = "foo" })
如果textBox输入中没有特殊字符(如#),则可以正常工作。否则会搞砸。我需要那些特殊字符。我发现了一个提示:
Javascript/jQuery encoding for special characters when using val()
但是如果声明变量fooName,我不知道如何使用它。
我不了解JavaScript,以前从未见过。请帮助我使它工作。
最佳答案
使用encodeURIComponent()
。 encodeURIComponent()
转义除以下字符外的所有字符:字母,十进制数字--_。 ! 〜*'()
资料来源:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent