2016-02-11 31 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); 
});