Отправка данных из формы "на лету"
Добрый день. Прошу вашей интеллектуальной помощи в решении следующих задач:
1.отправка формы на лету после ввода каждого символа или выбора пункта из списка. 2.автофокус на последней использованной текстовой кнопке(НЕ списка).[/indent] Насколько я понимаю, это решается добавлением событий к тегу HTML кнопки. Но с JS я не знаком. Поясню. Есть 4 текстовых поля для ввода и 3 списка для выбора, а также скрытая кнопка submit. Сейчас данные всей формы отправляются только по Enter в любом текстовом поле и фокус уходит. Мне нужно чтобы вся форма отправлялась при вводе каждого символа в текстовом поле или выборе элемента списка. В случае работы с текстовым полем - нужно оставить автофокус, чтобы не клацать каждый раз мышкой на него.
<form id="poisk" method="GET" action=""></form>
<tr>
<td><?php
input_menu_poisk("poisk","nomer_zakaz","поиск..")
?></td>
<td><?php
input_menu_poisk("poisk","fio","поиск..")
?></td>
<td><?php
select_menu_poisk("poisk","oplata","выбрать..")
?></td>
<td><input form="poisk" type="submit" name="enter" value="!.." style="visibility: hidden "></td>
<td><?php
input_menu_poisk("poisk","data_priyoma","поиск..")
?></td>
<td><?php
select_menu_poisk("poisk","ispolnitel_name_ispolnitel","выбрать..")
?></td>
<td></td>
<td></td>
<td></td>
<td><?php
select_menu_poisk("poisk","gotovnost","выбрать..")
?></td>
<td><?php
input_menu_poisk("poisk","izmenen","поиск..")
?></td>
</tr>
function input_menu_poisk($form,$name,$_default)
{
IF(!empty($_GET[$name]))
{
echo '<input form="'.$form.'" type="text" name="'.$name.'" value="'.$_GET[$name].'">';
}
else
{
echo '<input form="'.$form.'" type="search" name="'.$name.'" placeholder="'.$_default.'">';
}
}
function select_menu_poisk($form,$name,$_default)
{
echo '<select form="'.$form.'" name="'.$name.'" >
<option selected >'.$_default.'</option> ';
$sql=mysql_query("SELECT distinct `$name` FROM `zakaz` ")or die (mysql_error());
while($oplata=mysql_fetch_row($sql))
{
IF($_GET[$name]==$oplata[0])
{
echo '<option selected value="'.$oplata[0].'">'.$oplata[0].'</option>';
}
else
{
echo '<option value="'.$oplata[0].'">'.$oplata[0].'</option>';
}
}
echo '</select>';
}
|
Цитата:
|
Цитата:
https://kylaksizov.ru/51-zhivoy-poisk-ajax-php.html |
ksa,
серверный обработчик запросов этой статейки полная чушня. |
Клиент тоже запросто может завалить сервер запросами.
|
Цитата:
Цитата:
Отправлять запросы по каждому (!) клику клавиатуры. |
Всем, привет.
Я не шибко понимаю JS. Мне не нужен "живой поиск" с выплывающими подсказками. Мне нужно только чтобы происходило событие submit по событию onkeypress. Ну и автофокус. |
сначала ответьте на вопрос в чем и что вы хотите искать?
|
Эти кнопки - поля выборки в БД.
Вывод таблицы из БД на страницу генерируется посредством PHP автоматически на основании сконфигурированного запроса с условиями из полученных через GET данных. Кнопка должно отправлять в GET данные не через нажатие submit, а автоматиечки после ввода каждого символа, при этом не теряя фокус. Вопрос корректности ввода или частоты запросов, а тем более безопасности не стоит. В данном это будет демонстрационная программа. Поэтому нужно самое простое решение: нажал-отправил. |
Цитата:
|
Цитата:
Например список <SELECT> динамически сконфигурирован из уникальных значений определенного поля БД. Выбирая элемент списка я через GET передаю значение в часть WHERE SQL запроса к БД. Соответственно выводимая на экран таблица фильтруется по выбранному значению списка. Если отправить форму с выбранным пунктом списка и текстом из инпута то выводимая таблица отсортируется уже по двум фильтрам, и тд. Поэтому мне нужно чтобы форма отправлялась целиком. |
Значит лучше найти уже готовый серьезный плагин, а их много, а то, что предложено по ссылке только для ознакомления принципа, такая простота завалит сервер запросами, например при залипании клавиши. Думаю, что и понятно, то что по ссылке касаемо серверного скрипта, это бред.
|
| Часовой пояс GMT +3, время: 03:31. |