![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Hashashin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Доброго времени суток!
Мне необходимо, чтобы перед отправкой формы выполнялся скрипт, результат выполнения записывался в поле и форма успешно отправлялась. Вот примерно что я делаю:
Код ASP.NET MVC. Убрал все ненужное. Код работает, если сделать отдельную кнопку, которая будет только выполнять этот скрипт. Но ничего не выходит, если я пытаюсь выполнить скрипт при отправки формы. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Самое простое, сделать так:
заменить кнопку с submit на button, в функцию-обработчик кнопки передать ссылку на форму (this.form), после всех действий вызвать у переданного аргумента функцию-триггер submit() ВАриант 2: Если ничего не менять, то в функции-обработчике нужно получить событие, отменить действие по умолчанию (preventDefault) и после всех действий вручную опять же таки вызвать функцию-триггер submit(). Узнать как работать с событием можно узнать по ссылке в моей подписи. |
|||
|
||||
Hashashin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Сделал так:
На форме все отображается, но полученные данные не передаются. Так же пробовал называть форму и выполнять document.myform.submit(); тоже ничего не получилось. Возможно проблема с MVC. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
Hashashin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Нет, с разметкой все в порядке. Если я сначала нажму на кнопку, а потом отправлю фому, то все передается отлично.
|
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
Hashashin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Весь код большой, хочу оградить Вас от ненужных строк:
Т.е. если у меня 2 кнопки: одна заполняет эти инпуты, а вторая отправляет форму, то все работает прекрасно. Если я привязываю это к одной кнопке, то ничего не выходит. Как уже писал выше, поля заполняются, а параметры не передаются. Решил добавить к инпуту(который обязательно заполняется) событие onChange и пока оставить так. Просто не хотелось бы, чтобы функция выполнялась больше одного раза. |
|||
|
||||
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
Почему у кнопки тип - button, а не сабмит?
|
|||
|
||||
Hashashin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 22.5.2008 Репутация: нет Всего: нет |
Потому что отправка формы в функции JavaScript. Как посоветовал мне Aliance |
|||
|
||||
lomaster |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
От типа это не зависит.
если не надо чтобы срабатывал сабмит то
либо
также у формы еще есть ивент onsubmit, который также вызывается перед отправкой, и в нем также можно "глушить" отправку. А вот почему у вас не приходят на сервер данные, не понятно, тут надо смотреть код сервера, да и еще хорошо бы снифером посмотреть что и как уходит. Это сообщение отредактировал(а) lomaster - 15.10.2012, 11:15 |
||||||
|
|||||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Hashashin, данный код есть в сети? Если да - ссылку дайте.
lomaster, отключите js и сравните 2 варианта, поймете разницу ;-) |
|||
|
||||
lomaster |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 27.5.2012 Репутация: нет Всего: 2 |
||||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |