2014-01-14 92 views
0

比方說,我有位於形式:獲取表單的提交網址作爲相對網址?

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 

+1

'$( 「形式」)ATTR( 「行動」);'這會給你'submit.php'不'index.php' – Krishna

+1

XY問題。爲什麼你需要*完整的網址?對於JavaScript所能做的任何事情都無關緊要。 – Blazemonger

+1

注意:您想獲得的內容稱爲「絕對」網址。 「相對」網址就是你在表單中的內容。 –

回答

3

嘗試

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

或(假設你的形式是在同一個文件夾中的頁面和網頁網址/的東西兩端)

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

手柄查詢字符串,尤其是哈希昆廷:

Live Demo

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

最佳答案我到目前爲止看到過,但如果表單的動作以'/'開始或者是絕對的,它會中斷。 – Quentin

+0

@Quentin當然,但如果它以/開頭,那麼它位於根目錄中,而不是在/some/place/some/where/index.php – mplungjan

+0

的相同文件夾中。但是,無論此代碼是否將其與當前URL連接起來所以相對URI的'/'不會追加到當前URL的根目錄,而是追加到當前整個url(在最後一個'/'之前)。 – Quentin

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

alert(el.href); 

鉻調整HREF給予絕對URL,不知道與其他瀏覽器