2017-10-26 7 views
0

Asp.NetのFileUploadコントロールからファイルを選択してもjQueryメソッドを起動しようとしましたが、動作しません。 jQueryメソッドは、選択されているファイルサイズをチェックする必要があります。これをどうすれば解決できますか?Asp.Netコントロールを使用したjQueryメソッドの起動

<script type="text/javascript"> 
    function ValidateUploadButton() { 
     //this code will be executed when a new file is selected 
     $('#FileUpload1').bind('change', function() { 
      //converts the file size from bytes to MB 
      var fileSize = this.files[0].size/1024; 

      //checks whether the file is less than 1 MB 
      if (fileSize > 1) { 
       $('#errorMessage').html("The file is too big") 
       alert("okey"); 
       //successfully validated 
      } 
      else { 
       alert("else"); 
      } 
     }); 
    } 
</script> 

 

<asp:FileUpload ID="FileUpload1" runat="server" ClientValidationFunction="ValidateUploadButton" /> 
<span id="errorMessage"></span> 

答えて

1

私はONCHANGEためにあなたのClientValidationFunction属性を変更しました。

「変更」バインドを削除するようにスクリプトを編集しました。変更のためにValidateUploadButtonが呼び出されています。

<script type="text/javascript"> 
function ValidateUploadButton() 
{ 
    //this code will be executed when a new file is selected 
    //converts the file size from bytes to Ko 
    var fileSize = $('#FileUpload1')[0].files[0].size/1024/1024; 
    // USE THIS BELOW IF THE ONE ABOVE DOESN'T WORK 
    //var fileSize = $('#<%= FileUpload1.ClientID %>')[0].files[0].size/1024/1024; 

    //checks whether the file is less than 1 MB 
    if (fileSize > 1) 
    { 
     $('#errorMessage').html("The file is too big") 
     alert("okey"); 
     //successfully validated 
    } 
    else 
    { 
     alert("else"); 
    } 
} 
</script> 

EDIT

は申し訳ありませんが、私は徹底的にこれをテストすることができませんでした。今はうまくいくはずです。ファイルサイズを正しく参照するjavascriptの構文は間違っていました。また、私は1024の余分な除算を追加しましたので、KBの代わりにMBで取得します。

注 - これは1つのファイルでのみ動作し、複数のファイルではサポートされません。

+0

ありがとう、私は試しましたが、うまくいきませんでした –

+0

@ HQtunes.comうん、私は投稿する前にそれをテストすることに失敗しました。それは私のために今働くのでうまくいけばそれはあなたのために働く。コメントアウトされたfileSize変数にも注意してください。あなたのファイルアップロードはrunat = serverなので、実際の参照IDは変更されることがあります(私はcontent-masterpageのため信じています)ので、コメントアウトされた行のようにIDを別に取得する必要があります。 –

+0

以下の行が機能しました!本当にありがとう! –

関連する問題