30

href クリックでファイルのアップロードをトリガーしています。
doc、docx、pdf 以外のすべての拡張子をブロックしようとしています。
正しいアラート値が得られません。

<div class="cv"> Would you like to attach you CV? <a href="" id="resume_link">Click here</a></div>
    <input type="file" id="resume" style="visibility: hidden">

Javascript:

        var myfile="";
        $('#resume_link').click(function() {
            $('#resume').trigger('click');
            myfile=$('#resume').val();
            var ext = myfile.split('.').pop();
            //var extension = myfile.substr( (myfile.lastIndexOf('.') +1) );

            if(ext=="pdf" || ext=="docx" || ext=="doc"){
                alert(ext);
            }
            else{
                alert(ext);
            }
         })

MyFiddle ..その表示エラー

4

10 に答える 10

74

使用できます

<input name="Upload Saved Replay" type="file" 
  accept="application/pdf,application/msword,
  application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>

ウェアラト

  • application/pdf意味.pdf
  • application/msword意味.doc
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document意味.docx

代わりは。

[編集].dotあまりにも一致する可能性があることに注意してください。

于 2013-08-01T11:27:03.733 に答える
19

change入力フィールドでイベントを使用することをお勧めします。

更新されたソース:

var myfile="";

$('#resume_link').click(function( e ) {
    e.preventDefault();
    $('#resume').trigger('click');
});

$('#resume').on( 'change', function() {
   myfile= $( this ).val();
   var ext = myfile.split('.').pop();
   if(ext=="pdf" || ext=="docx" || ext=="doc"){
       alert(ext);
   } else{
       alert(ext);
   }
});

jsFiddleを更新しました。

于 2013-08-01T11:20:47.760 に答える
0

$('#surat_lampiran').bind('change', function() {
  alerr = "";
  sts = false;
  alert(this.files[0].type);
  if(this.files[0].type != "application/pdf" && this.files[0].type != "application/msword" && this.files[0].type != "application/vnd.openxmlformats-officedocument.wordprocessingml.document"){
  sts = true;
  alerr += "Jenis file bukan .pdf/.doc/.docx ";
}
});

于 2016-11-14T05:05:51.097 に答える
0
var file = form.getForm().findField("file").getValue();
var fileLen = file.length;
var lastValue = file.substring(fileLen - 3, fileLen);
if (lastValue == 'doc') {//check same for other file format}
于 2013-08-01T11:31:14.890 に答える