powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JQuery: проблема с .submit()
3 сообщений из 3, страница 1 из 1
JQuery: проблема с .submit()
    #38155206
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел бы к стандартному поведению html Form добавить превалидацию на клиенте и затем отправить данные формы на сервер.
После некоторого гугления создал код, который делает вид, что работает. ))

Код: javascript
1.
2.
3.
4.
5.
6.
    $('#recipeParseForm').submit(function(event) {
	    event.preventDefault(); 
        if (validateForm()) {
		    $('#recipeParseForm').get(0).submit();
	    }
    });



Как я себе это понимаю:
Первая строка - локатор сабмита форма.
Вторая - отменяем событие с целью предотвратить мгновенный сабмит формы
Третья - пользовательская функция валидации
Четвертая - собственно, вызов функции submit() формы (DOM-объекта на сей раз)..

Но, как оказалось, данная функция в POST-запросе отправляет все input-ы, кроме нажатой кнопки.
Кнопок у меня две:

Код: html
1.
2.
                    <input type="submit" class="btn btn-primary" name="save" value="Сохранить")" />
                    <input type="submit" class="btn btn-warning" name="check" value="На особый контроль" />



Необходимо различать на сервере какая из них нажата, дабы выполнять разное поведение для каждой кнопки, поэтому хотелось бы видеть их в параметрах реквеста.
Но в реквесте нету ничего про кнопку!
Вот что кажет Firebug:

Теперь убираем JS, оставляем только html-разметку со стандартным поведением.
Ии.. Оппачки!


Это что за странное поведение .submit() ??
Бага jQuery ??
Может кто-нибудь объяснить?
...
Рейтинг: 0 / 0
JQuery: проблема с .submit()
    #38155298
При сабмите формы отправляются только suceessful controls. Для каждого типа контрола в спеке сказано какие у него условия чтобы считаться successful. Для кнопок это - что она "нажата" (в числе прочил условий что есть name и не disabled).

При отправке формы программно никакая кнопка "не нажималась" (действие пользователя когда он нажал - было отменено event.preventDefaul), поэтому save и не было отправлено.

http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 (Successful controls)
...
Рейтинг: 0 / 0
JQuery: проблема с .submit()
    #38155312
Самым "простым" решением станет отмена события не всегда (с его повтором если всё хорошо), а только когда что-то "плохо":

Код: javascript
1.
2.
3.
4.
5.
$('#recipeParseForm').submit(function(event) {
    if (!validateForm()) {
        event.preventDefault(); 
    }
});
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JQuery: проблема с .submit()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]