我正在使用下面的代码修剪要发送到PHP页面上的SQL的数据。
<script>$(function() {
$("#nameselect").change(function() {
$("#jobnoselect").load("getter.php?choice=" + $.trim($("#nameselect").val()).replace(' ', '+'));
$("#pagetable").empty();
});
});
</script>
现在它确实有效,如果做出的选择是“两个字”,但如果它是“三个字在这里”它没有并返回空白结果。我不熟悉这种语言,很久以前另一位开发人员给了我这个片段。任何人都可以提供任何帮助吗?
答案 0 :(得分:1)
Replace不是全局的。
更改代码
$.trim($("#nameselect").val()).replace(' ', '+')
到
$.trim($("#nameselect").val()).replace(/\s/g, '+')
答案 1 :(得分:0)
如果您使用php而不是javascript:
$foo = preg_replace( '/\s+/', ' ', $foo );
答案 2 :(得分:0)
使用encodeURIComponent
以便转换和发送空间。
<script>
$(function() {
$("#nameselect").change(function() {
$("#jobnoselect").load("getter.php?choice=" + encodeURIComponent($("#nameselect").val()));
$("#pagetable").empty();
});
});
</script>
在您的php页面中使用urldecode
来检索内容。
答案 3 :(得分:0)
最好是序列化值,而不是用plus-signs实际替换空格。这是一种更好的方法:
<script type="text/javascript">
$(function() {
$("#nameselect").change(function() {
$("#jobnoselect").load("getter.php?choice=" + $("#nameselect").serialize());
$("#pagetable").empty();
});
});
</script>