Ajax / jQuery Автозаполнение, странная ошибка? - PullRequest
0 голосов
/ 13 марта 2012

Я уже однажды использовал определенный фрагмент кода на другом сайте, и он прекрасно работает - это плагин jQuery-Ajax-PHP для автозаполнения, который я нашел и изменил. Он отлично работает на сайте y, но здесь, на сайте x, он автоматически устанавливает текстовое поле по умолчанию на «», когда пользователь ничего не выбрал (это происходит по умолчанию) - этот код следующий:

<script type="text/javascript">
    function lookup(inputString) {
        if(inputString.length == 0) {
            $('#suggestions').hide();
        } else {
            $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
                if(data.length >0) {
                    $('#suggestions').show();
                    $('#autoSuggestionsList').html(data);
                }
            });
        }
    } 
    function fill(thisValue) {
        $('#inputString').val(thisValue);
        setTimeout("$('#suggestions').hide();", 200);
    }
</script>

в то время как в rpc.php код выглядит следующим образом [с пропущенными учетными данными]:

<?php
session_start();
$user = $_SESSION['ns_user']; 
    $db = new mysqli('xxxx.com', 'xxxx' ,'xxxx', 'xxxx');

    if(!$db) {
        echo 'ERROR: Could not connect to the database.';
    } else {
        if(isset($_POST['queryString'])) {
            $queryString = $db->real_escape_string($_POST['queryString']);
            if(strlen($queryString) >0) {
$query = $db->query("SELECT school FROM noteshare_users WHERE school LIKE '$queryString%' GROUP BY school");
                if($query) {
                    while ($result = $query ->fetch_object()) {
                        echo '<li onClick="fill(\''.$result->school.'\');">'.$result->school.'</li>';
                    }
                } else {
                    echo 'ERROR: There was a problem with the query.';
                }
            } else {
            } 
        } else {
            echo 'There should be no direct access to this script!';
        }
    }
?>

По сути, это автозаполнение формы списка школ.

Я пробовал несколько вещей, и, кажется, ничто не может это исправить! Вот пример одного из экспериментов, которые я пробовал:

    function fill(thisValue) {
if(thisValue==""){
var x = $('#inputString').val();
$('#inputString').val(x);
}
else {
        $('#inputString').val(thisValue);
        setTimeout("$('#suggestions').hide();", 200);
    }
}

Кто-нибудь, кажется, замечает что-то не так? Большое спасибо!

Любые ответы приветствуются:)

1 Ответ

0 голосов
/ 13 марта 2012

Не могли бы вы добавить некоторую информацию о просмотре? Если вы используете Safari или Firefox (с Firebug), вы можете получить некоторые ошибки в вашей консоли. Это также может быть полезно, чтобы лучше понять ваш вопрос и проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...