Как отправить форму в которой? используется вместо = в методе GET - PullRequest
0 голосов
/ 05 марта 2020

Структура формы будет выглядеть примерно так:

<form target="site.url/search/">
<input type="text" name="keyword" value="a">
</form>

Как мне отправить ее куда вместо этого:

https://site.url/search/keyword=a

Это закончилось бы так:

https://site.url/search/keyword?a


Я также думаю о другом подходе, где целевой URL будет:

https://site.url/search/keyword?

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

https://site.url/search/keyword?myKeyword

Возможно ли это?

1 Ответ

2 голосов
/ 05 марта 2020

Вы можете использовать javascript, чтобы запретить отправку формы, а затем перенаправить страницу.

Вам нужно будет добавить в форму событие onsubmit и задать для поля ввода ID так что вы можете получить значение.

<form target="site.url/search/" onsubmit="mySubmitFunction(event)">
<input type="text" id="keyword" name="keyword" value="a">
</form>

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

function mySubmitFunction(e) {
  e.preventDefault();
  let keyword = document.getElementById('keyword').value;
  window.location.replace("https://site.url/search/keyword?" + keyword);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...