javascript - 如何在其中提交表格?在 GET 方法中使用 = 代替

标签 javascript html forms get

表单结构将是这样的:

<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

<小时/>

我正在考虑另一种方法,目标网址是:

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

然后找到一种方法来获取文本字段值但不包含文本字段名称,以便它立即附加到网址的尾部,如下所示。

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

这可能吗?

最佳答案

您可以使用 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);
}

关于javascript - 如何在其中提交表格?在 GET 方法中使用 = 代替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60537809/

相关文章:

javascript - Momentjs 不适用于 Firefox 28.0

javascript - 使用 angularjs+codeigniter 成功添加用户时在 html 中显示消息

forms - Symfony2 表单生成器在带有元数据的连接表中选择

javascript - express.js 和 mysql 身份验证

javascript - 在 url 中隐藏获取变量?

Javascript JQuery 替换标签

javascript - 为什么在onclick confirm方法(VsCode)中return语句有下划线?

html - body 背景颜色不会改变

javascript - 重新定位 jquery 验证插件上的错误消息

javascript - Restcall 中的 406 Not Acceptable 错误