Javascript 单击表单的“提交”按钮后获取URL
我有一个表单,我想在单击提交按钮后检索它的URL。Javascript 单击表单的“提交”按钮后获取URL,javascript,html,window.location,Javascript,Html,Window.location,我有一个表单,我想在单击提交按钮后检索它的URL。 到目前为止,我所做的是通过JavaScript.Submit()方法提交,然后使用window.location.search将URL存储到一个变量中,然后我还alert()它。 当我第一次填写表单时,警报不会显示任何内容,当我第二次填写表单时,它会返回我第一次填写的值。 注意:单击提交按钮后,我需要停留在同一页面上。 编辑:首先发出警报,然后提交表单,并将变量附加到URL。 以下是我的代码供参考: <html> &l
到目前为止,我所做的是通过JavaScript
.Submit()
方法提交
,然后使用window.location.search
将URL存储到一个变量中,然后我还alert()
它。当我第一次填写表单时,警报不会显示任何内容,当我第二次填写表单时,它会返回我第一次填写的值。
注意:单击提交按钮后,我需要停留在同一页面上。
编辑:首先发出警报,然后提交表单,并将变量附加到URL。
以下是我的代码供参考:
<html>
<body>
<div>
<h1>Form 1</h1>
<form id="form1" method="GET">
Number 1:<input type="text" id="num1" name="num1">
<br>
Number 2:<input type="text" id="num2" name="num2">
<br>
Number 3:<input type="text" id="num3" name="num3">
<br>
Number 4:<input type="text" id="num4" name="num4">
<br>
<button id="sub1" onclick="submitFunc()">Submit</button>
</form>
</div>
<script>
function submitFunc()
{
document.getElementById("form1").submit();
var loc = window.location.search;
alert(loc);
}
</script>
</body>
</html>
表格一
第一:
第二点:
第三点:
第四点:
提交
函数submitFunc()
{
document.getElementById(“form1”).submit();
var loc=window.location.search;
警报(loc);
}
我认为使用window.location.search
不会成功。
相反,您可以随时直接从表单中获取数据和搜索查询,如下所示:
document.getElementById(“myForm”).addEventListener('submit',(ev)=>{
//可选,防止重定向
ev.preventDefault()
//ev.currentTarget是表单元素
var数据=新的FormData(ev.currentTarget);
//根据此答案修改代码:https://stackoverflow.com/a/24964658/7448536
变量queryParts=[];
var entries=data.entries()
for(变量对条目)
queryParts.push(encodeURIComponent(对[0])+“=”+encodeURIComponent(对[1]))
var query=queryParts.join(&)
var loc=窗口位置;
//重新组装url
var url=loc.protocol+'/'+loc.host+loc.pathname+'?'+query
console.log(url)
})
提交
表单提交后,您的页面将刷新,因此,我认为您无法完成此操作。您必须知道要在哪里提交页面。那么为什么要捕获URL呢?这是因为当您使用“提交”页面时,页面会刷新,但第二行会在提交操作之前获得初始的窗口位置。第二次,这些值已经在URL上了。所以它是有效的:)实际上我需要Python PyQt5中的URL,然后使用URL字符串并获取表单的字段值。您需要使用AJAX发送表单数据,因为当表单提交时,页面会刷新,这是问题的根源。