javascript – изменить форму действия на основе выбора?

Я пытаюсь изменить действие формы на основе выбранного значения из выпадающего меню …

В принципе, html выглядит так:

Search people Search content

Если выбрано «people» (оно по умолчанию), действие должно быть «/ search / user», а если выбран контент, действие должно быть «/ search / content»,

Я все еще ищу, но не смог узнать, как это сделать …

4 Solutions collect form web for “javascript – изменить форму действия на основе выбора?”

 $("#selectsearch").change(function() { var action = $(this).val() == "people" ? "user" : "content"; $("#search-form").attr("action", "/search/" + action); }); 

Если вы хотите изменить действие формы, я предпочитаю изменять действие on-form-submit, а не на входе-изменении. Он срабатывает только один раз.

 $('#search-form').submit(function(){ var formAction = $("#selectsearch").val() == "people" ? "user" : "content"; $("#search-form").attr("action", "/search/" + formAction); }); 

Лучше использовать

 $('#search-form').setAttribute('action', '/controllerName/actionName'); 

скорее, чем

 $('#search-form').attr('action', '/controllerName/actionName'); 

Итак, основываясь на ответе Трате, мы имеем:

 $('#search-form').submit(function() { var formAction = $("#selectsearch").val() == "people" ? "user" : "content"; $("#search-form").setAttribute("action", "/search/" + formAction); }); 

Использование setAttribute может сэкономить вам много времени.

Требуется, чтобы у вас была форма?
Если нет, вы можете использовать это:

 

со следующим JavaScript:

 function callJavaScriptServlet() { this.form.action = "MyServlet"; this.form.submit(); } 
Interesting Posts

Как отправить csrf_token () внутри формы AngularJS с использованием API Laravel?

Запустите Sweave или knitr с объектами из существующей сессии R

Настройка IIS для поддержки http: // localhost

Запустить rsync с правами root на удаленной машине

Правильное использование интерфейса IDisposable

эффект щелчка на кнопке на Android

SearchClick OnCloseListener не работает

Как заставить stream Java ждать выхода другого streamа?

Обновление с 32-битного Windows7 до 64-битного WIn7, чтобы соответствовать 64-разрядному процессору

Создание .xz с 7-Zip, требует недостаточной памяти (не верно)

Как использовать значок, который является ресурсом в WPF?

Компьютерный вентилятор, начинающий шуметь, не может отвинтить ноутбук. Получил решение?

TortoiseSVN – Иконки не отображаются

Устранить задержку MacBook CapsLock

Клонирование установки Windows (при использовании) на новый диск, не выходя из Windows

Давайте будем гением компьютера.