$title=$_GET['english'];客户端输入english字段的值,由js发送地址给服务器处理文件chk.php...
处理文件chk.php 通过get接收到$title如果english的值有空格(比如词组),则$title显示的值是去掉空格后的,比如
客户输入Red N Hot
地址是chk.php?english=Red N Hot,$title显示的是RedNHot这怎么弄啊?js加上encodeURI也不管用啊

解决方案 »

  1.   

    不要用get 改用JS post 数据给chk.php
      

  2.   


    我借用了别人的ajax文件啊, 而且这是表单的一个检验字段的程序, var fileajax = new AJAXRequest();
    fileajax.get(url),
    不用get怎么弄啊?
      

  3.   

    你可以将你的值用json格式
    var test= {name:test}将整个值拼在你的url后面换jquery吧,方便$(document).ready(function(){
    $.post('click.php',{english:"Red N Hot,"},function(data){
        alert(data);
      });
    });或者
    $.get();
      

  4.   

    在JS里对你要传递的GET参数应用encodeURIComponent()函数。如:
    [code=JScrip]url = "chk.php?english=" + encodeURIComponent("Red N Hot");
    //url = "chk.php?english=Red%20N%20Hot";[/code]
    PHP端获得的$_GET['english']直接会是"Red N Hot",不用再转换。
    当然,如果你对用户输入的数据做了其他处理,也有可能是这个处理过程中将空格过滤掉了,你可以将代码贴出来大家一起分析下。
      

  5.   

    最简单的办法是 在那个输入框内加个onblur事件,转换字符串为url编码
    <input type="text" name="english" onblur="encodeURIComponent(this.value)" />