【问题标题】:How to get the final submission URL for a HTML form programmatically in Javascript如何在 Javascript 中以编程方式获取 HTML 表单的最终提交 URL
【发布时间】:2017-11-20 12:41:28
【问题描述】:

我有一个简单的 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&amp;bar=123 这样的 URL,即附加了查询字符串的操作 URL。

有没有一种简单的方法可以在 Javascript 中以编程方式获取带有查询参数的最终表单 URL,而无需构建它?类似document.getElementById('form').submissionURL

【问题讨论】:

标签: javascript html forms query-string


【解决方案1】:

使用 Jquery 序列化你应该能够完成这项工作

$( "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() );
  }

});

https://jsfiddle.net/zrypfens/1/

【讨论】:

  • 如果action属性中的URL有查询字符串会失败
  • 这个问题被标记为javascript 上面写着(在tag wiki page 上:除非还包括框架或库的标记,否则对于使用 javascript 的问题需要纯 JavaScript 答案标签。
猜你喜欢
  • 2020-10-03
  • 2010-11-22
  • 2010-10-16
  • 2018-06-13
  • 1970-01-01
  • 2015-02-25
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
相关资源
最近更新 更多