我有一个HTML表单,如下所示:
<form method="GET" name="search" action="/api">
Name: <input type="url" name="url" />
<input type="submit" value="Search"/>
</form>
如果我在URL字段中输入一些值,如www.google.com?teste=a
,则在服务器端从参数www.google.com teste=a
接收以下值(注意问号消失了)。
在不使用JavaScript在服务器端接收问号的情况下,可以修复这个问题吗?
发布于 2021-09-09 15:11:24
不需要将表单方法更改为POST
,您就可以在提交表单本身之前使用Javascript修改URL字段的值。
document.forms.search.bttn.addEventListener('click',function(e){
e.preventDefault();
this.previousElementSibling.value=encodeURIComponent(this.previousElementSibling.value);
this.parentNode.submit()
});
<form method="GET" name="search" action="/api">
Name: <input type="url" name="url" />
<input type="submit" name='bttn' value="Search" />
</form>
https://stackoverflow.com/questions/69120479
复制相似问题