0

jquery我的函数有问题,.load() 我想从输入字段中获取值php,但是如果您在字段中输入空格,则什么也得不到

这是我的短代码 html

 <!DOCTYPE html>
    <html>
        <head>
            <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        </head>
        <body>
            <input type="text" onkeyup="$('#result').load('test.php?str='+$(this).val()).hide().fadeIn();" />
            <div id="result" ></div>
        </body>
    </html>

和 test.php

<?php
echo $_GET[str];
4

3 回答 3

4

如果该字符串中有空格,则后一个块将被视为返回 HTML 的选择器。如果选择器不匹配任何内容,则不返回任何内容。

您需要使用 对参数进行编码encodeURIComponent()。这将确保它不会以文字空格结尾,因为它们将被编码为%20.

于 2013-06-30T12:53:56.380 回答
1

你应该使用encodeURIComponenton $(this).val()

于 2013-06-30T12:55:12.370 回答
1

单独编写你的javascript

$('input[type=text]').keyup(function() {
    $('#result').load('test.php?str=' + encodeURIComponent($.trim($(this).val())) ).hide().fadeIn();
});
于 2013-06-30T12:55:43.953 回答