Как я могу узнать, какой элемент управления отправил форму в jQuery?

#jquery

#jquery

Вопрос:

У меня есть форма, отображающая ресурс с несколькими полями. Форма отображается внутри страницы индекса ресурсов. В форме есть несколько переключателей для выбора типов ресурсов. Когда выбран переключатель, я бы хотел, чтобы форма была отправлена и перезагружена, поскольку форма отображается по-разному в зависимости от выбранного типа ресурса. Когда нажата кнопка отправки, я бы хотел, чтобы форма была заменена чем-то другим.

У меня есть функция, которая запускается при отправке формы, но я не знаю, как я могу заставить ее делать одно, когда форма отправляется переключателем, и другое, когда она запускается кнопкой отправки.

Как я могу это сделать?

Комментарии:

1. Я предлагаю опубликовать ваш второй вопрос отдельно и сформулировать первый вопрос (который, похоже, не зависит от ror) в терминах клиентского кода.

2. Готово! Поскольку я выяснил, что было не так по второму вопросу (я пытался запустить серверный jquery на клиенте), я не буду публиковать этот вопрос отдельно.

Ответ №1:

Что касается первого вопроса, почему бы не сохранить специальное значение в <тип ввода=»скрытый»> или глобальную переменную в вашем обработчике выбора прямо перед отправкой формы?

Затем в вашем обработчике отправки вы можете проверить, установлен ли он — это сообщит вам, была ли отправка запущена с помощью переключателя или другим способом.