通过单击jQuery获取表单内容

通过单击jQuery获取表单内容,jquery,get,click,Jquery,Get,Click,我想通过点击链接获得隐藏输入的值。 这是我的HTML表单(它们是由脚本生成的,所以我在这里复制了生成的HTML): 无论我测试它返回未定义的。。。 想法 编辑 工作原理: -页面上有几个表单 -所有这些都绑定到一个链接 -通过单击链接,将调用mButtonClick(idButton)函数,并应获取绑定表单的值 最后一步不起作用。这是按钮 您也在做一些非常奇怪的事情-是否将其绑定到表单单击 你应该这样做 $('.mButton').click(function () {console.log($

我想通过点击链接获得隐藏输入的值。 这是我的HTML表单(它们是由脚本生成的,所以我在这里复制了生成的HTML):

无论我测试它返回未定义的。。。 想法

编辑

工作原理:

-页面上有几个表单

-所有这些都绑定到一个链接

-通过单击链接,将调用
mButtonClick(idButton)
函数,并应获取绑定表单的值


最后一步不起作用。

这是按钮

您也在做一些非常奇怪的事情-是否将其绑定到表单单击

你应该这样做

$('.mButton').click(function () {console.log($('form input[type="hidden"]').val())})

你的html表单代码看起来很奇怪。什么是“+controller+”、“+id+”、“+view+”??您正在尝试通过脚本构建表单吗?实际上,是的,所有表单都是通过脚本生成的。因此,如果将“.val()”更改为“.length”,该怎么办?你可以检查你是否有正确的元素。返回的“undefined”值始终与JQuery元素集中的noelement相关。仍然是“undefined”和“.length”。但是我不明白为什么
$([form[name=“+idButton+”])
返回正确的表单,
($([form[name=“+idButton+”]input[name=view])
返回未定义的内容……如果使用firefox,只需按Ctrl+Shift+J,就会看到javascript错误。我认为这只是结构问题。我需要按输入的名称获取输入,然后使用
input[name=“name here”]
而不是“type=…”,因为您的代码太乱了:)去jsfiddle.net创建简单的fiddle,然后回来发布一个指向它的链接
function mButtonClick(idButton)
{
    $("form[name="+idButton+"]").click(function ()
    {
        // test #1
        console.log($(this).contents().find("input[name=view]").val());
        // test #2
        console.log($("form[name="+idButton+"] input[name=view]").val());
    });
}
$('.mButton').click(function () {console.log($('form input[type="hidden"]').val())})