如何在Javascript中以编程方式获取HTML表单的最终提交URL
我有一个简单的HTML表单,它使用GET而不是POST如何在Javascript中以编程方式获取HTML表单的最终提交URL,javascript,html,forms,query-string,Javascript,Html,Forms,Query String,我有一个简单的HTML表单,它使用GET而不是POST <form id="form" action="https://www.example.com/search" method="GET"> <input name="foo" type="text" /> <input name="bar" type="text" /> <input type="submit" value="submit" /> </form&g
<form id="form" action="https://www.example.com/search" method="GET">
<input name="foo" type="text" />
<input name="bar" type="text" />
<input type="submit" value="submit" />
</form>
当用户点击“提交”时,我希望他们被定向到像http://www.example.com/search?foo=abc&bar=123
,即附加查询字符串的操作URL
有没有一种简单的方法可以在Javascript中通过编程方式获得这个带有查询参数的最终表单URL,而不必构造它?类似于
document.getElementById('form').submissionURL
使用Jquery serialize您应该能够完成这项工作
$( "form" ).on( "submit", function( event ) {
event.preventDefault();
var submitURL=$( '#form' ).attr( 'action' );
if(submitURL.indexOf("?")==-1)
{
console.log( submitURL+'?'+$( '#form' ).serialize() );
}
else
{
console.log( submitURL+'&'+$( '#form' ).serialize() );
}
});
不,没有。你在追求像jQuery这样的东西。啊,真遗憾。我认为可能有可用的东西,因为浏览器无论如何都需要在某个点构造此URL。如果action属性中的URL具有查询字符串,则此操作将失败。此问题已标记为(在上:除非还包含框架或库的标记,否则对于带有JavaScript标记的问题,需要纯JavaScript回答。