Несколько форм с одним классом + submit
Проблема следующая:
на странице формируются N-форм одинаковых внешне, но с разным содержимым. С помощью js сохранение информации из формы происходит сразу же при изменении какого-либо поля формы. К примеру, элемент с классом list по событию change (это select) инициирует отправку данных (submit) из формы с классом form. $('.list').change(function() { $('.form').submit(); return false; }); Работает все хорошо, но, по понятным причинам, отправляется информация сразу из всех форм с этим классом, а должно отправляться только из той, в которой были произведены изменения. Подскажите, пожалуйста, красивое решение проблемы. |
Ну так правильно иначе и быть не должно.
$('.list').change(function() { $(this).parents('form').submit(); return false; }); Только вот непонятно, зачем тут submit, обычно такие вещи кладут на плечи ajaxу. |
Skipp, не помогло. Будем подключать аякс.
|
klev2004,
Вы бы выложили пару форм , либо лучше ссылку на страницу |
Подскажите как правильно получить value-значение selected варианта в выпадающем списке формы, в которой произошло событие submit. Приемлемы любые варианты обращения к объектам: по ID, по классу, по имени.
Перепробовал кучу разных вариантов и jQuery и чистый javascript. Все не выходит. Как-то так пробую: $(this).parent().children('#sel').selectedIndex; // вместо индекса undefined здесь, как я понимаю: this - кнопка сабмит, на которую нажали; parent() - форма, к которой относится кнопка сабмит; children(#sel) - выпадающий список, у которого необходимо получить (в данном случае индекс выбранного элемента); selectedIndex - непосредственно метод получения индекса выбранного пункта в списке. |
var value=$(this).parents("form:first").find('#sel').val(); |
Deff, спасибо.
Помогла непосредственная передача элемента во входном параметре функции: <form> <input id="button" class="button" type="button" value="Button" onclick="func(this); return;"> <select id="sel" name="sel"> <option ...> </select> </form> function func(elem) { var value=$(elem).parents("form:first").find('#sel').val(); } |
Цитата:
Цитата:
|
Deff, я это понимаю. Именно в этом случае практически все генерируется php-кодом. Все вариации в статичных html-страничках не учесть, поэтому выкладывать было затруднительно.
Спасибо за помощь! Вопрос по теме: Как у кнопки в данном случае изменить value? $(elem).parents("form:first").find('#button').value = 'Some text'; и $(elem).parents("form:first").find('#button').val() = 'Some text'; не работают. UPD: Вопрос снят. Правильно делать так: $(elem).parents("form:first").find('#button').val('Some text'); |
Часовой пояс GMT +3, время: 17:22. |