【发布时间】:2013-05-02 15:21:16
【问题描述】:
我正在尝试访问 ajaxForm 成功回调中的表单元素。表单元素作为第 4 个元素传递(参见:http://malsup.com/jquery/form/#options-object -> 成功)。
所以如果我通过console.log(form) 对其进行测试,它就可以工作。我得到一个 jQuery 对象,可以通过form[0].访问表单
但console.log 告诉我,[0] 下有更多元素,即表单的输入。我可以通过form[0][0] or form[0][1] 等方式访问它们。
但是我怎样才能一次获得所有子对象呢?
我的情况是,我不知道输入的数量,所以我需要通过foreach 之类的方式访问元素的所有输入。但是使用 form[0] 我只是获取表单的 DOM 元素。
这有点复杂,但我希望你能理解我的问题。
编辑: 这是我从 console.log(form) 得到的:
[form#doku_newrowJsonForm.doku_newrowJsonForm, context: form#doku_newrowJsonForm.doku_newrowJsonForm, jquery: "1.9.1", constructor: function, init: function, selector: ""…]
0: form#doku_newrowJsonForm.doku_newrowJsonForm
0: input
1: input#AdrowAdtableId
2: input#AdrowCustomerId
3: input#AdrowContent19.input-small
4: input#AdrowContent20.input-small
5: input#AdrowContent21.input-small
6: input#AdrowContent22.input-small
7: input#AdrowContent23.input-small
8: input#AdrowContent24.input-small
form[0] 只给了我 DOM-Element 和 form[0].find(':input') 给了我 Uncaught TypeError: Object # has no method 'find' ...
编辑2 需要明确的是:我想获取例如 input#AdrowAdtableId。我可以通过表单[0][1] 访问它。但我不知道表格中输入的长度。它是动态的。因此,做类似 form[0].each() 之类的事情会很棒。但是 form[0] 给了我 DOM 元素而不是 jQuery 对象...
【问题讨论】:
-
把问题弄清楚..详细说明..
-
请发布表单的确切标记(至少在它的开头包括一两个输入),因为此时您的问题有点令人困惑。