我在我的应用程序中使用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>
实际上我想将这个捕获的数据从文本框发送到我的rails控制器。我的控制器名称是员工,行动是新的
答案 0 :(得分:5)
您需要使用encodeURIComponent()
对参数值中的特殊字符进行编码
encodeURIComponent()
方法通过将某些字符的每个实例替换为表示字符的UTF-8编码的一个,两个,三个或四个转义序列来编码统一资源标识符(URI)组件(仅将是由两个&#34;代理&#34;字符组成的字符的四个转义序列。
$.getScript('/employees/new?pt=' + encodeURIComponent(box.value));