JavaScript编码字段,而不会破坏显示
JavaScript encode field without spoiling the display
在作为$_GET请求提交之前,我想对特定的搜索字段进行编码。我正在做的是在表单提交之前将encodeURIComponent()函数应用于该字段
$('#frmMainSearch').submit(function() {
var field = $(this).find('#searchinput');
field.val(encodeURIComponent(field.val()));
});
问题是,一旦对文本进行了编码,字段就会显示编码后的文本,这看起来有点奇怪。我能做些什么来避免它吗?
示例:我键入你好&你好。当我单击提交按钮时,在刷新页面之前,它会变成类似于Hello%26 Hello的内容。我想避免这种情况。
有什么解决方案吗?
感谢
我最近不得不解决同样的问题。我是这样做的:
-
创建要面向用户的输入字段,例如:
<input class="really-nice-looking-field" id="search-text-display" placeholder="Search for stuff..." type="text">
-
请注意,对于显示的字段,
name
属性被特别省略。这将使search-text-display
字段不在提交的表单中,这样就不会有未使用的参数通过。 -
创建一个隐藏字段,这就是实际用于提交的字段,如下所示:
<input id="search-text" name="search_text" type="hidden">
-
在提交表单之前,从表单中捕获提交事件以填充隐藏字段,如下所示:
$('#site-search').submit(function() { $('#search-text').val( encodeURIComponent($('#search-text-display').val()) ); });
这将使显示给用户的输入字段保持不变,而您的参数则根据需要进行转义:
Parameters: {"utf8"=>"✓", "search_text"=>"hello%20%26%20hello"}
相关文章:
- JavaScript代码,用于在浏览器中显示字节数组中的PDF文件(非base64编码)
- 编码url并显示在iframe中
- JSON编码一个HTML列表——所有子项都显示在所有父项上
- 显示编码的PNG
- 只有当类是硬编码的时,才可以使用jQuery来显示/隐藏html内容
- 在一个模式AjAX编码器中显示不同的Gallery
- ExtJs组合框显示字段编码
- 为什么我的地理编码无法显示地址
- 一个简单的刽子手游戏的逻辑,以显示编码的单词
- 如何使用Javascript对链接+显示消息进行编码
- 如何编码突出显示的开放时间
- 如何对此 javascript 函数进行编码以在选择特定类型时显示两个 + 字段集
- 使用编码器点火器保存数据后显示通知
- jquery显示php-json编码数组的值时出现未定义错误
- 使用encodeURI()时,在回发之前显示编码的文本
- Ruby Base64编码的图片不显示
- JavaScript编码字段,而不会破坏显示
- 如何基于此编码显示隐藏
- Angular显示url编码错误,如何获得解码版本
- 我无法在iPhone上通过phonegap显示编码图像(Base64)