Я пытаюсь изменить действие формы на основе выбранного значения из выпадающего меню.
По сути, HTML выглядит так:
<form class="search-form" id="search-form" method="post" accept-charset="UTF-8" action="/search/user">
<select id="selectsearch" class="form-select" name="selectsearch">
<option value="people">Search people</option>
<option value="node">Search content</option>
</select>
<label>Enter your keywords: </label>
<input type="text" class="form-text" value="" size="40" id="edit-keys" name="keys" maxlength="255" />
<input type="submit" class="form-submit" value="Search" id="edit-submit" name="search"/>
</form>
Если выбрано «people» (по умолчанию), действие должно быть «/ search / user», а если выбрано content, действие должно быть «/ search / content»
Я все еще ищу, но не смог выяснить, как это сделать.
prop
вместоattr
. Пример =$("#search-form").prop ("action", "/search/" + action);
Если вы хотите изменить только действие формы, я предпочитаю изменять действие при отправке формы, а не при изменении ввода. Он срабатывает только один раз.
источник
Лучше использовать
скорее, чем
Итак, основываясь на ответе транта, мы имеем:
Использование
setAttribute
может сэкономить вам много времени потенциально.источник
setAttribute
экономит время при использовании jqueryattr
?Просто и легко в javascipt
источник
Требуется, чтобы у вас была форма?
Если нет, то вы можете использовать это:
со следующим JavaScript:
источник