|
|
|
| Отцы!!! Подскажите путь решения данной проблемы.
Пользователь вводит что-то в input и сразу делается запрос в базу с последующим сохранением. Страница при этом не перезагружается.
Знаю как сделать стандартно на php+mysql (с перезагрузкой страницы).
Интересует только подсказка по JavaScript ) | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 09:06)
| | Для таких вещей существует технология ajax.
1. Маленький php-скрипт, который кладет в базу, сохраните в отдельный файл.
2. подключите к файлу с формой ввода библиотеку jQuery
3. изучите поведение упрощенного метода $.post()
Если не заработает с первого раза, а оно с первого раза не заработает, обращайтесь! ) | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 12:35)
| | напишите пожалуйста пример отправки запроса на файл. допустим данные такие:
<input name="name" type="text" />
|
файл добавления в базу: "sql/addsql.php" - здесь все понятно.
Пользователь ввел данные, убрал фокус с input - они отправились в обработчик? | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 12:58)
| | Ладно. Это код для одного поля:
<script type=text/javascript>
//надеюсь, jQuery подключили?
function sendform(f){
var t = $(f).children("input").val();
$.post("addsql.php", {"name":t});
}
</script>
|
Форма:
<form name="" action="#" method="post" onsubmit="sendform(this);return false;">
<input name="name" type="text" value="">
<input type="submit" value="Send">
</form>
|
Соответственно, по попытке сабмита формы страница не обновляется, но в addsql.php летит $_POST['name'] с содержимым поля ввода. | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 13:20)
| | А зачем onsubmit?
Человеку хочется изящно терзать сервер, по focusout из инпута. | |
|
|
|
|
|
|
|
для: Deed
(29.01.2013 в 13:41)
| | А я может в Лиге защиты серверов от терзания онблёрами состою...
Если выполнять любой каприз, мы тут наплодим индусов. | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 13:52)
| | Спасибо за пример, но возможно сделать без submit? Дело в том в коде сделано несколько input - с добавлением новых пользователем. И каждый раз нажимать кнопку "сохранить" не логично получается. | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 14:07)
| | будет не очень удобно - в базу пойдет очень много записей с опечатками.
Может, лучше сделать поле-кнопка, поле-кнопка? | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 14:07)
| | Несколько инпутов - это нерационально. Если уж на т о пошло, сделайте добавление нескольких пользователей в одном интуте через какой-нибудь разделитель, запятую, например. А в обработчике функцией explode() разбиваете эту строку, trim() и т.д. | |
|
|
|
|
|
|
|
для: Deed
(29.01.2013 в 14:24)
| | суть в том что данные меняются не постоянно, пользователь настроит свои инпуты и будеть пользоваться сервисом. а каждый раз нажимать на кнопку сохранить муторно (при редактировании допустим 5 инпутов) | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 19:04)
| | А добавить сабмит на нажатие кнопки Enter на клавиатуре? Или нажать Enter тоже муторно? | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 13:52)
| | И я о том же.
Как представлю себе отправки по onkeyup каждой буквы, так "Ом мани падмэ хум" вспоминается... | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 13:52)
| | Спасибо за пример!! А так будет "onblur" потеря фокуса с input? | |
|
|
|
|
|
|
|
для: tetron
(29.01.2013 в 14:11)
| | Да, но см. выше. | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 14:12)
| | Да я разобрался в примере. Низкий поклон за пример. | |
|
|
|
|
|
|
|
для: DJ Paltus
(29.01.2013 в 12:35)
| | Круто конечно ради этого подключать jQuery. ) | |
|
|
|
|
|
|
|
для: confirm
(30.01.2013 в 10:48)
| | Я его полюбил и теперь никогда не брошу! )
Я настолько плохо владею джаваскриптом, что полбашки перекорёжу, пока соображу, как без жучки обойтись. | |
|
|
|
|
|
|
|
для: DJ Paltus
(30.01.2013 в 14:02)
| | Ну а что мешает взять готовый скрипт обслуживания асинхронных запросов? Он ведь в сотни раз меньше нежели библиотека. К тому же использование jQuery не освобождает вас от обязанностей знать JS, иначе ее использование будет порождать еще более громоздкий код. | |
|
|
|