Несколько форм с одним классом + 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, время: 12:31. |