Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中以编程方式获取HTML表单的最终提交URL_Javascript_Html_Forms_Query String - Fatal编程技术网

如何在Javascript中以编程方式获取HTML表单的最终提交URL

如何在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

我有一个简单的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>

当用户点击“提交”时,我希望他们被定向到像
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回答。