2011-12-31 7 views
1

Я очень новичок в jQuery и javascript. У меня есть установка автозаполнения (из jQuery UI). После того, как пользователь выберет его значение из окна поиска, как передать это значение на другую страницу php (т.е. getmatches.php, которая будет искать это значение в нашей базе данных). У меня есть:Как передать переменную на страницу php?

$(function(){ 
     $("#my_cell").autocomplete({ 
     source: "autocomplete.php", 
     minLength: 1, 
      delay: 0, 
     select: function (event, ui) { 
      // what goes here?  

     } 
    }); 
    }); 
+0

PHP - серверная сторона. Javascript и javascript javascript-библиотека являются клиентскими. PHP может использовать переменные сеанса. jQuery и Javascript не могут. Это два разных мира ... – paulsm4

+0

@ paulsm4 Кажется, он использует плагин JQuery, который обрабатывает запросы ajax. – tuze

+0

Да, я использую плагин автозаполнения jQueryUI. –

ответ

1

вы можете прикрепить ПОЛУЧИТЬ параметры в URL-адрес, как это:

source: "autocomplete.php?param_name=" + document.getElementById("myfield").value, 

, но я думаю, что функция плагин $ .autocomplete может предоставить API для отправки параметров бакэнда, я думаю, вы должны прочитать документацию к нему, в большинстве случаев docs указывают все, что вам нужно.

+0

Это не динамически, потому что параметр источника вызывается только при загрузке (или всякий раз, когда он выполняет '.autocomplete()'), поэтому давайте предположим, что пусто по умолчанию, тогда все запросы сделаны в 'autocomplete.php? Param_name =' (yes, ничего) –

+0

yup, это был простой пример .. с этой целью он может связывать событие типа «change» в поле –

+0

У меня уже есть часть «source:». Когда пользователь прокручивает результаты вызова «source:», как передать это значение обратно на другую страницу php? –

0

Вы можете использовать параметры GET следующим образом:

http://yourserver/getmatches.php?search=<yoursearchstring> 

В getmatches.php, получить переменную.

+0

С php вы можете получить доступ к этому параметру с помощью '$ _GET ['search']' – jcubic

+1

@jcubic injection FTW. Санируйте свои переменные: P –

+0

Я согласен с Томом. Важна санитация. –

0

jQuery Автозаполнение по умолчанию передает значение входа в источник, указанный вами с помощью параметра GET term. Так что, если вы печатаете, например мир он будет делать запрос на autocomplete.php?term=world

Я настоятельно не рекомендую делать AJAX запросы внутри SELECT, функции обработчика событий. Если вы не имеете в виду что-то еще (например, отслеживание).

+0

Использование значений строки запроса в инструкции SQL не имеет большого значения, если вы дезинфицируете и подготавливаете заявления. – Chad

+0

Что бы вы посоветовали? –

+0

@ user522962 Дайте небольшое пространство, что вы хотите сделать с выбранным значением? –

Смежные вопросы