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 に答える