我向javascript函数传递字符串参数,只要字符串中含有空格,函数就不执行,但字符串中有时必须有空格,请问这个问题怎么解决?

解决方案 »

  1.   

    我是如下写的,由php向javascript函数Back传递参数,参数中一出现空格,点击按钮时便没有任何响应。
      <td>
      <input type='button' value='Back' name='back'
    onclick=Javascript:Back(<?php echo "'".$_REQUEST['name']."','".$_REQUEST['pronounce']."','".
        $_REQUEST['others']."',".$_REQUEST['gramId'].",'".$_REQUEST['janExp']."','".$_REQUEST['engExp']
    ."','".$_REQUEST['category']."','".$_REQUEST['property']."','".$_REQUEST['elements']."')";?>>
     </td>
    <script>
    function Back(name,pronounce,others,gramId,janExp,engExp,category,property,elements)
        {
          window.location="koubun.php?name="+name+"&pronounce="+pronounce+"&others="+others+"&gramId="+gramId+
               "&janExp="+janExp+"&engExp="+engExp+"&category="+category+"&property="+property+"&elements="+elements;
       } </script>
      

  2.   

    问题解决了。我自己来结贴。
    onclick='Javascript:Back(<?php echo "'".$_REQUEST['name'].....'
    标记的赋值串应该用引号括起来,如果赋值串中没有空格是不会出错的,但是一旦有空格就会出现不能传值等的错误。这是书写代码的一种良好的习惯,以后一定要注意。
      

  3.   

    escape编码
    再unescape解码就可解决