2016-02-11 49 views
2

我有一個這樣的形式:錶行動內容返回undefined

<form method=「post」 id=「foo」 action=「foo/bar」>…</form> 

我想action屬性的內容存儲在一個變量,像這樣顯示出來:

var action = $(「foo").attr(「action」); 
alert(action); 

但警報返回'未定義'。我究竟做錯了什麼?

+1

您是否嘗試使用普通引號? – adeneo

+2

當你的腳本運行時,它也很重要。確保表單已被聲明後運行或使用文檔就緒事件來運行它。 – HaukurHaf

+0

它必須是$('#foo'),因爲#符號在jQuery中定義了一個ID選擇器 –

回答

1

當你使用ID選擇您要添加#和雙引號改變,它會工作檢查片斷波紋管:

var action = $("#foo").attr("action"); 

希望這有助於。


$(function(){ 
 
    var action = $("#foo").attr("action"); 
 
    alert(action); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form method="post" id="foo" action="foo/bar">…</form>

1

首先,你應該修正你的語錄:

<form method="post" id="foo" action="foo/bar">…</form> 

那麼你應該得到的表單操作:

var action = $("#foo").attr("action"); 

鋁所以,請確保在嘗試訪問它們之前加載所有DOM元素,如下所示:

$(document).ready(function(){ 
    var action = $("#foo").attr("action"); 
    alert(action); 
});