Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление при отправки формы 
V
    Опции темы
Gold Dragon
  Дата 9.1.2013, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Есть форма.

Форма отправляется по ссылке, например
Код

<a onclick="document.getElementById('form_save').submit();" href="javascript:void(0)">Сохранить</a>


Пытаюсь перехватить отправку
Код

$("form").submit(function(){
     alert('Запрет отправки');
     return false;
});


бесполезно, форма уходит

хотя если использовать 
Код

<input type="submit" value="Сохранить">

То форма успешно блокируется

Как-то можно решить эту проблему?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Arantir
Дата 9.1.2013, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Ну просто функция .submit() не вызывает ивента onSubmit...
Не сказал бы, что решение элегантное, но можно, например, так:
Код

$("#link").click(function(e){ // нажатие по ссылке или еще чему угодно
    // всякие действия
    $("#form").submit();
});
$("#form").submit(function(e){ // если пользователь нажмет Enter в поле
    e.preventDefault();
});



--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Gold Dragon
Дата 9.1.2013, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



а почему так получается?

Запустил через jQuery и всё заработало
Код

<a onclick="$('#form_save').submit();" href="javascript:void(0)">Сохранить</a>


Это сообщение отредактировал(а) Gold Dragon - 9.1.2013, 10:13


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 9.1.2013, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Если уж используется jQuery, что мешает использовать в обработчике trigger, тогда нужное событие должно быть вызвано.

PS: вот это как-то буэээ
Код
href="javascript:void(0)"

PM MAIL WWW ICQ Skype   Вверх
Arantir
Дата 9.1.2013, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 5
Всего: 55



Цитата(Gold Dragon @  9.1.2013,  09:13 Найти цитируемый пост)
а почему так получается?

Запустил через jQuery и всё заработало

Потому что jQuery - пользовательский код =) Они себе взяли да добавили вызов ивента. Видно, по той же причине, по которой создана тема.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Gold Dragon
Дата 9.1.2013, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Цитата(Aliance @  9.1.2013,  11:16 Найти цитируемый пост)
Если уж используется jQuery, что мешает использовать в обработчике trigger, тогда нужное событие должно быть вызвано.

а чем это 
Код

$("#form_save").trigger("submit");

лучше этого    
Код

$('#form_save').submit();


Aliance, а что лучше вместо "бэээ"?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 9.1.2013, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 17
Всего: 137



Цитата(Gold Dragon @  9.1.2013,  11:41 Найти цитируемый пост)
а чем это ... лучше этого 

это алиасы, так что ничем:
Код

jQuery.each( ("... submit ...").split(" "), function( i, name ) {

    jQuery.fn[ name ] = function( data, fn ) {
        // ...
        return arguments.length > 0 ?
            this.on( name, null, data, fn ) :
            this.trigger( name );
    };
});


Когда писал свой пост - твоего еще не было smile

Цитата(Gold Dragon @  9.1.2013,  11:41 Найти цитируемый пост)
Aliance, а что лучше вместо "бэээ"? 

Мы у себя на проекте отказались от такого в коде, т.к. раньше это нужно было чисто для подчеркивания ссылок. Теперь просто пишем без href. Ну а вообще это же не ссылка, а кнопка. Тогда и логичнее было бы использовать скажем span или тот же button, а не <a>
PM MAIL WWW ICQ Skype   Вверх
Gold Dragon
Дата 9.1.2013, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: нет
Всего: 71



Цитата(Aliance @  9.1.2013,  12:02 Найти цитируемый пост)
Мы у себя на проекте отказались от такого в коде, т.к. раньше это нужно было чисто для подчеркивания ссылок. Теперь просто пишем без href.
Точно, совсем забыл что это больше не нужно smile

Все спасибо.. вопрос решён



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.4958 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.