在以下代码中:
<script type="text/javascript">
function updateView(set) {
$.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
$( "#content" ).html( data );
});
}
</script>
'set'是一个字符串变量,其中可以包含空格。我注意到它有空格时它无法正常工作。我该如何解决这个问题?
编辑:为了清楚起见,我想保持空间不变。
答案 0 :(得分:6)
使用$.trim(set)
删除前导空格或尾随空格
set.replace(/ /g,"+")
或
encodeURI(set)
保持字符串内的空格
(参考When are you supposed to use escape instead of encodeURI / encodeURIComponent?)
一次性完成这两项工作只需将它们链接起来
$.trim(set).replace(/ /g,"+")
请注意,如果您愿意,可以使用%20代替加号。
但它不是参数吗?如果是这样,也许你想把它传递给
$.post("<?php echo base_url("/show_cards/load_page")."/"; ?>",{"set":$.trim(set).replace(/ /g,"+")},
答案 1 :(得分:3)
您必须将' '
的中间空间('%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>
答案 2 :(得分:2)
使用 Trim
<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
答案 3 :(得分:0)
拉杰什保罗的答案做得很好,我不知道为什么有人给你一个投票。
很好的回答Rajesh,它对我有用。这就是我所做的:'&p_na2=' + (Txtva3).trim().replace(/ /g, '%20');