jquery скрыть на рельсах нажмите кнопку отправки формы

0

У меня есть вид в рельсах:

<%= form_for :search do |f| %>
      <%= f.label :search_by_name %>
      <%= f.text_field :by_name  %>
      <%= f.submit 'Search' %>
<% end %>

В jQuery я могу сделать что-то вроде этого:

        $("h1").click(function(){
            $("h1").hide();
        });

Это приведет к тому, что все теги h1 станут невидимыми при нажатии тега h1. Как я могу вместо этого заставить всю свою форму стать невидимой, нажав кнопку "отправить" для моей формы выше?

РЕДАКТИРОВАТЬ

Возможно, проблема немного больше, чем я думаю. Когда я сделаю это в ответ ниже:

 $("form").submit(function(){
        $(this).hide();
    })

Форма становится невидимой, но затем страница немедленно перезагружается, и форма снова видна. Он остается невидимым в течение секунды секунды, прежде чем перезагружать страницу. Есть ли способ переносить это влияние со страницы на страницу или отображать результаты формы без перезагрузки страницы?

Изменить 2

Задача решена. Я завернул форму в div-класс и передал этот идентификатор в функцию hide, как указано в комментариях ниже, и это похоже на работу. Я не понимаю, почему страница была просто загружаемой и отображающей форму при передаче в form, но она не имеет такого эффекта при передаче в id. Но проблема решена.

  • 0
    Какой идентификатор формы? Просто используйте это в своей функции скрытия.
  • 0
    Вы хотите узнать об ajax, прочитать что-нибудь об удаленных формах stackoverflow.com/questions/6723334/…
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

Пытаться

 $("form").submit(function(){
        $(this).hide();
    })
0

Мне кажется, что Ajax - это то, что вы хотите (например, @arieljuod сказал), но если вы просто хотели скрыть форму без передачи данных на сервер, вы могли бы предотвратить это событие.

$("form").submit(function(e){
    e.preventDefault();
    $(this).hide();
})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню