Доступ к тексту в поле, размещенном JS, через PHP - PullRequest
0 голосов
/ 01 июля 2010

В PHP, в конкретной CMS я использую настраиваемое поле, которое работает так, как предлагает Google.

Как и в случае, для каждой вводимой буквы выполняется запрос SQL и отображаются соответствующие записи.При нажатии на запись она заполняет поле этой записью.

Я совершенно уверен, что все это делается с помощью JavaScript.

Мне нужно знать, как получить доступ к результирующему содержимому этого поля.с текстом, размещенным через JS, перед его отправкой, чтобы я мог его взорвать ().

Используемая мной CMS использует mootools, поэтому решение, основанное на mootools, было бы идеальным.

Ответы [ 2 ]

0 голосов
/ 08 июля 2010

(Этот ответ предполагает, что у вас есть контроль над разметкой ваших форм (форма, для которой перед отправкой требуется строка «взрыв») и / или вы чувствуете себя комфортно, работая над плагинами, которые вы используете.)

сначала убедитесь, что вы не отправляете форму, используя кнопку фактической отправки ().Нам нужно будет отправить форму с использованием javascript после того, как вы поиграете с содержимым поля.

Далее убедитесь, что у вашего поля ввода (из которого вы получаете текст) и скрытых входов есть уникальные идентификаторы.Это упростит запрос DOM для данных, которые нам нужны.

Внутри формы вместо «реальной» кнопки отправки создайте кнопку формы:

<form action="something.php" name="myform">

   <input type="hidden" id="hiddenItem">
   // SOME STUFF

   <input type="text" id="autocomplete_field" value="whatever"/>         

   // SOME OTHER STUFF

   <input type="button" value="Submit" onclick="processForm(this)"/>

</form>

Затем, напишите функцию javascript для обработки строки и отправьте форму:

processForm = function(el){

   text = $('autocomplete_field').get('value');

   // Lets assume the strings separates words (what you're exploding apart) using spaces
   // something like 'DOGS CATS BIRDS PETS'

   var array = text.split(' ');

   // returns ['DOGS','CATS','BIRDS','PETS']

   $('hiddenItem').set('value',array[0]);

   // #hiddenItem now has the value 'dogs'

   //SUBMIT THE FORM
   el.getParent('form').submit();

};

Надеюсь, это поможет!

0 голосов
/ 02 июля 2010

Вы можете попробовать использовать JS для отправки поля какого-либо события (onkeyup?) В ваш php-скрипт.После того как он выполнит свою часть, сохраните результат как переменную сеанса, и вы сможете получить его позже.Попробуйте использовать функцию get jquery.

Это был ваш вопрос?

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