1

可能重复:
替换 URL JavaScript 中的空格

jQuery("#changeCoinCountrySelect").change(function(){
      // Get value from select box
      var country = jQuery('#changeCoinCountrySelect option:selected').val();

      jQuery("#coinTable").load(".../.../.../tables.php?country="+country);
});

我的问题是,如果country有值Great British例如,那么在 tables.php 中,查看时$_GET['country'],只有Great被记录。

因此,我认为 jQuery 未对 HTML 进行编码可能存在问题。

可能的解决方案,html 编码国家变量,然后在 php 脚本中解码。问题是这似乎对空格没有任何作用!

我是 jQuery 的灾难,所以如果有人能指出我正确的方向吗?

4

3 回答 3

6

尝试:

jQuery("#coinTable").load(".../.../.../tables.php?country="+encodeURIComponent(country));

您需要对放入 URL 中的数据进行编码。在 javascript 中,您需要使用encodeURIComponent.

于 2012-12-31T14:40:15.153 回答
1

您可以使用encodeURIComponent(如 j0k 所建议的那样)。但是,鉴于您使用的是 jQuery,我会这样做:

jQuery("#coinTable").load("../../../tables.php", { country: country });

这会将一个简单的 JS 对象传递给 jquery,它将为您编码所有键/值。

于 2012-12-31T14:44:01.483 回答
0

我最好为你使用 uri-safe 值,select顺便说一下,这对 i18n 更友好:

<select id="changeCoinCountrySelect">
  <option value="uk">Great Britain</option>
  <option value="us">USA</option>
  ...
</select>

这样,您就可以依赖更强大的标签。

于 2012-12-31T14:44:41.470 回答