无法解析getElementById中的字符串

Abh*_*dip 0 javascript jquery getelementbyid

我在我的应用程序中使用jquery,我在rails上使用ruby.现在我想在输入过程中立即在搜索框中输入数据.一切正常,但问题是它无法捕获特殊字符等#@$&()%.它适用于所有其他数字和字母表.我正在使用getElementById技术从文本框中获取数据.

请告诉我解决这个问题的任何解决方案

我的jquery代码部分是:

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>


<link rel="stylesheet" href="/resources/demos/style.css">
<script>


$(document).ready(function(){
$("input").keyup(function(){
    var box = document.getElementById("tags");
    document.getElementById("abc").innerHTML = box.value;
    $.getScript('/employees/new?pt=' + box.value)
});
});
</script>
Run Code Online (Sandbox Code Playgroud)

实际上我想将这个捕获的数据从文本框发送到我的rails控制器.我的控制器名称是员工,行动是新的

Sat*_*pal 5

您需要使用encodeURIComponent()对参数值中的特殊字符进行编码

encodeURIComponent()方法通过将某些字符的每个实例替换为表示字符的UTF-8编码的一个,两个,三个或四个转义序列来编码统一资源标识符(URI)组件(对于由两个字符组成的字符,将只有四个转义序列) "代理"字符).

$.getScript('/employees/new?pt=' + encodeURIComponent(box.value));
Run Code Online (Sandbox Code Playgroud)