de.innerHTML="<a href=javascript:setDate("+d+","+id+","+page+",'"+sselect+"','"+keyword+"','"+ssort+"','"+escape(filter)+"');>"+d+"</a>";

解决方案 »

  1.   

    de.innerHTML="<a href=\"javascript:setDate("+d+","+id+","+page+",'"+sselect+"','"+keyword+"','"+ssort+"','"+filter+"');\">"+d+"</a>";
      

  2.   

    如果不行,请尝试encodeURIComponent这个方法,但更常用的是escape
      

  3.   

    xuzuning(唠叨)正解!请问这是什么原因呢?为什么要两端加“”呢?我只在filter变量两端加“”怎么就不行呢?
      

  4.   

    这不是js的问题,而是ie的问题。如果在html里写入
    <a href=javascript:foo(1,'a 2')>test</a>
    同样是错误的,会报“未结束的字符串常量”错
    所以标记的赋值串都应该用引号括起,这是良好的习惯
    <a href="javascript:foo(1,'a 2')">test</a>
      

  5.   

    我想也有可能是你的setDate这个函数里面的问题或者filter已经是被截取的了,有的时候会截取一部分
    比如
    <input name=aa value=按时的 按时的>
    <script language=javascript>
    alert(document.getElementById("aa").value)
    </script>
      

  6.   

    解决方法是加引号
    <input name=aa value="按时的 按时的">
    <script language=javascript>
    alert(document.getElementById("aa").value)
    </script>