0

我正在尝试遍历表单中的所有输入,这些输入要么是“文本”,要么是“文件”。

这是我的表单标记:

<form action="" method="post" id="upload_form">
    <p>
        <label for="name">Skin name:</label><br />
        <input type="text" name="name" />
    </p>
    <p>
        <label for="desc">Skin description:</label><br />
        <input type="text" name="desc" />
    </p>
    <p>
        <label for="aname">Authors name:</label><br />
        <input type="text" name="aname" />
    </p>
    <p>
        <label for="aname">Skin image file:</label><br />
        <input type="file" name="skin" />
    </p>
    <p>
        <input type="submit" value="Upload" />
    </p>
</form>

除了提交按钮之外,我基本上想检查所有这些输入。到目前为止,这是我的代码:

$('#upload_form').submit(function(e) {
    $('#upload_form input').each(function(index) {
        if( this.type == "input" ) {

        }
    });
});

但这是错误的,我知道。谁能告诉我如何遍历文本或文件输入的每个输入?

谢谢。

4

2 回答 2

2

您可以使用过滤器或非选择器来完成此操作。

我相信你可以这样做:

$('#upload_form').submit(function(e) {
    $('#upload_form input').not(':submit').each(function(index) {
        ...
    });
});

我认为这也可以:

$('#upload_form').submit(function(e) {
    $('#upload_form input').filter('[type=text], [type=file]').each(function(index) {
        ...
    });
});
于 2011-02-14T20:31:26.820 回答
0

使用this.tagName 它将为您提供标签类型作为大写字符串。

于 2011-02-14T20:28:05.870 回答