0

こんにちはfiles、似たような名前のすべてを検証しようとしています

これらは私の入力要素です

<form id="MyForm" onsubmit="return validate();">
<input type="file" name="File1"  />
<input type="file" name="File2" />
<input type="file" name="File3" />
</form>

私が試されているのは

 function validate()
  {
   if($('input[name ^= "File"]').val()=='')
   {
     alert("The field is empty");
     return false;
   }
   }

これは可能ですか?またはのようにする必要があります$('input[type=file]').each(function () { ....}

4

3 に答える 3

0

val() メソッドは一致した要素のセットの最初の要素の値を返すため、試したことは機能しません。つまり、File1 が空の場合にのみ通知されます。各要素をループして空の値をチェックするか、単純な if ステートメントを使用する必要があります。

于 2013-02-12T15:32:08.120 に答える
0

あなたが持っているスクリプトは、ファイルの最初の入力タイプだけの条件をチェックします。3 つのフィールドすべてを含めるには、何らかのループ構造を使用する必要があります。

于 2013-02-12T15:32:10.107 に答える
0

これはうまくいきます

$('input[name^=file]').each(function() {
    if($(this).val() === '')
    {
        alert('The field is empty');
        return false;
});

これは、$('input[name^=file]')複数の要素を返すため、個々の要素を確認するためにそれらを反復処理する必要があるためです

于 2013-02-12T15:31:35.400 に答える