我正在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

09-25 18:43