IE8和jQuery中的非英语文本

时间:2012-05-23 09:13:23

标签: jquery internet-explorer-8

我正在尝试将我的语言(希伯来语)中的字符串传递给脚本。 我已经构建了this页面

包含输入文本

<input type="text" class="filter"  id="Filter"/>

和一个脚本,用于在更改时获取文本,然后表格过滤掉结果

    <script> 
    $('#Filter').change(function() {
    var str = $('#Filter').val();
    str = str.replace(/[\s]/g, '_'); //replcae spaces to "_" (Otherwise we get errors) 
   $('#Table').load('printShorts.server.php?Sortby=<?echo $sort;?>&dir=<?echo    $direction;?>&filter='+str+'&no-cache=' + (new Date()).getTime() ).fadeIn("slow");

});
</script>

它传递了很大的值 - 在FF和chrome中。 问题始于IE8(可能是9) 你们有什么建议我会做什么的? 我甚至不知道是否有像萤火虫这样的IE调试软件..

如果您在页面中注意到,我也使用了UTF8

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
  1. 另一个问题 - 我不知道为什么上下箭头只在IE中呈现蓝色边框!!怎么了?
  2. 帮助将受到关注..

2 个答案:

答案 0 :(得分:0)

请记住,您必须以某种UTF-8格式保存文件,您可以在文本/代码编辑器中设置它。

答案 1 :(得分:0)

从你给出的实际错误信息中我会猜到这个问题。您不是编码str参数的URL,而是utf-8,可能会请求URL中无效的字符。 Chrome和FF可以优雅地处理IE8中的一些(先前版本没有)

而不是+str+,然后使用+encodeURIComponent(str)+

这将对str中的内容进行编码,并确保生成的URL有效