获取表单的提交URL作为相对URL?

时间:2014-01-14 14:43:38

标签: javascript jquery

假设我的表格位于:

http://www.mysite.com/some/place/some/where/index.php

我有这样的表格:

<form action="submit.php"> ... </form>

如果我这样做:

$("form").attr("action");

我会得到:

submit.php

从表单中获取操作的简单方法是什么,以便它包含整个URL:

http://www.mysite.com/some/place/some/where/submit.php

2 个答案:

答案 0 :(得分:3)

尝试

$("form").prop("action");

或(假设您的表单与页面位于同一文件夹中,页面URL以/某些结尾)

var loc = location.href;
var page = loc.substring(0,loc.lastIndexOf("/")+1)+
  $("form").attr("action");

处理查询字符串和哈希值,特别是对于Quentin:

Live Demo

var loc = location.origin + location.pathname;
var action = $("form").attr("action").split("/").pop();
var page = loc.substring(0,loc.lastIndexOf("/"))+"/"+action;

答案 1 :(得分:0)

var el = document.createElement('a');
el.href = $("form").prop("action");

alert(el.href);

Chrome会调整href以提供绝对网址,而不是其他浏览器