4

在以下代码中:

    <script type="text/javascript">
        function updateView(set) {
            $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
                $( "#content" ).html( data );
            });
        }
    </script>

'set' 是一个字符串变量,其中可以有空格。我注意到当它有空格时它不能正常工作。我怎样才能解决这个问题?

编辑:为清楚起见,我想保持空间完整。

4

4 回答 4

7

注意: $.trim() 现在不推荐使用.trim()

用于set.trim()删除前导或尾随空格以及

set.replace(/ /g,"+")  

或者

encodeURI(set)

保留字符串内的空格
(请参阅您何时应该使用转义而不是 encodeURI / encodeURIComponent?

一口气做这两件事只需将它们链接起来

set.trim().replace(/ /g,"+")

请注意,如果您愿意,可以使用 %20 代替加号。

但它不是一个参数吗?如果是这样,也许您想将其传递为

$.post("<?php echo base_url("/show_cards/load_page")."/"; ?>",
  {"set":set.trim().replace(/ /g,"+")},
于 2013-10-14T04:06:48.153 回答
4

您必须用 with 替换中间空间(),并用' '消除边界空间()。'%20'replace()' 'trim()

所以使用以下代码 -

<script type="text/javascript">
    function updateView(set) {
    set=set.trim().replace(/ /g, '%20');
        $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
            $( "#content" ).html( data );
        });
    }
</script>
于 2013-10-14T04:19:13.577 回答
2

使用修剪

<script type="text/javascript">
        function updateView(set) {
          var set=$.trim(set);// by this  leading or trailing spaces removes  
            $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
                $( "#content" ).html( data );
            });
        }
    </script>

你也可以使用string.replace

  var set=  set.replace(/ /g,"+") ;// like that way in this all the spaces removes
于 2013-10-14T04:06:05.203 回答
0

拉杰什保罗的回答做得很好,我不知道为什么有人给你投反对票。

好的答案拉杰什,它对我有用。这就是我所做的: '&p_na2=' + (Txtva3).trim().replace(/ /g, '%20');

于 2013-11-14T11:00:30.320 回答