2012-05-11 4 views
1

私は連絡フォームを持っています。ファイルアップロードファイルを使用しました。今私はそれがjQueryによってファイルのアップロードフィールドからのパスを意味する値を取得したい。 ファイルのアップロードフィールドにはfilebrowseという名前のクラスがあり、値を保存して別の入力フィールドに値をエコーし​​ます。 それは動作しますが、それは入力ボックスのフィールドに値を示しdidnotパスファイルアップロードフィールドから値を取得するにはjquery

var val = jQuery(".filebrowse").val(); 
console.log(val); 
jQuery('.file-input').attr('value', val); 

を取得するために、私はこのコードを使用していました。 becozはデフォルトで入力ボックスが空のため、何も表示しません。今私は入力ボックスに1つのブラウズファイルがファイルのアップロードフィールドに値を表示したい。

+2

'jQuery'を長い形式で一度書く必要があることを知っていましたか?あなたのコードを '(function($){....})(jQuery);'にラップすることによって、 'noConflict'が使われていても' $ 'を使うことができます。そして '.attr( 'value')'は常に悪いです。この目的のために '.val() 'があります。ただし、ファイル入力の値を設定することはできません。 – ThiefMaster

答えて

1

セキュリティ上の理由から、ファイル入力の値を設定することはできません。悪意のあるjavascriptがファイルを設定し、フォームをプログラマチックに送信し、強制的にアップロードすることでシステム上のファイルを盗み出すことが可能になります。

編集 - 私は疑問を誤解し、サンプルコードに基づいて回答しました。一般に、ファイル入力の値のファイル名を取得することは可能ですが、セキュリティ上の理由から、パスは含まれません。

+0

これはどういう意味ですか? – Rain

2

は、ファイルのフィールドの値を取得するには、意味ですか:

$('.filebrowse').change(function(){ 
    console.log($(this).val()); 
}); 
+0

ファイル入力は入力ボックスクラスです。しかし、私はファイルアップロードフィールドから値を取得したい、どのクラスは前に喚起browsefileです。 – Rain

+0

答えを見ると、filebrowserクラスを持つ入力フィールドの値が得られます。それはどういう意味ですか? –

+0

はいファイルのアップロード後に値を取得したいです。私はアップロードするファイルを選択した後、私はファイルのアップロードフィールドの値をしたい – Rain

-1

私はこのポストは少し古いですが、これは私がMVCで行うために必要なものであることを理解します。

<input type="file" style="width:100%;" class="fu" id="fileUploader" name="fileUploader" /> 

次に、クラスでアクセスします。

var fileValue = $('.fu').val(); 
関連する問題