2011-01-21 26 views
1

ファイルをアップロードしようとしていて、アップロードしたファイルの名前を表示して、アップロードしたファイルを削除するために「削除」リンクを表示してください(別のファイルをアップロードするため)。 Hereは私が今までに得たものです。アップロードしたファイルを削除し、「ファイルを選択」ボタンをクリックして別のファイルをアップロードしようとすると、同じファイル名が表示されます。どのように私はメモリからファイル名を削除することができます(私は推測する)ので、ボタンは新しいのように動作し、フォームがファイル名なしで提出されたときにもファイルは送信されませんが、アップロードされたファイルが削除されない場合、提出可能です。 事前にお手数をおかけしております。ファイルのアップロードと削除

答えて

2

削除後に$ this.val( '')を追加して、入力値を空にするように設定します。

SITE.fileInputs = function() { 
    var $this = $(this), 
     $val = $this.val(), 
     valArray = $val.split('\\'), 
     newVal = valArray[valArray.length - 1], 
     $button = $this.siblings('.button'), 
     $fakeFile = $this.siblings('.file-holder'); 
    if (newVal !== '') { 
     $button.text('File chosen'); 
     if ($fakeFile.length === 0) { 
      $('.place').html('<div><span class="file-holder">' + newVal + '</span><a href="#" class="delete_upload">Remove</a></div>'); 
      $this.val(''); 
     } else { 
      $fakeFile.text(newVal); 
     } 
    } 
}; 

ここで結果を確認してください:答えのためのhttp://jsfiddle.net/kTNuB/3/

+0

感謝を。これは、ファイルを削除して別のファイルをアップロードするだけの場合には問題ありません。しかし、アップロードされたファイルを提出したい場合は、ファイルの値を '空'にします。任意のアイデアをどのように? – DGT

+0

$ this.val( '');を移動します。 $( '。file-wrapper input [type = file]').val( '');)を削除関数に追加します。 http://jsfiddle.net/kTNuB/5/ – keepwalking

+0

を確認してください。ありがとう。 – DGT

関連する問題