0

ファイルを選択するとすぐに、htmlファイルアップロードコントロールから非表示の入力テキストボックスに値またはファイルパスを取得しようとしています。

<input type="file" name="some_name" id="file" />
<input type="text" name="text_name" id="abc" style="display:none;" value=""/>

私のスクリプトは次のようになります。

$('#file').live('change', function(){ alert("yes"); });

アラートボックスが表示されますが、非表示の入力フィールドの値を、選択したファイルのパスに変更したいと思います。この問題を解決するための助けは大歓迎です。

4

3 に答える 3

6

通常、要素の値は。で取得しますが$('#elementId').val()、aの場合は、<input type="file">セキュリティ上の制限のために取得できません。ローカルファイルパスを知る方法はありません(少なくとも、すべてのブラウザで一貫して機能するものはありません)。

于 2012-12-11T22:02:40.707 に答える
2

アップロードコントロールのファイルパスを取得するに<input type='file'>は、次のようにします。

var value = $('#elementID').val();
var value = value.substr(value.lastIndexOf('\\') + 1);

これにより、ファイル名の前にあるすべてのファイルパスが削除されます。IEとFirefoxの場合は完全なファイルパス、ChromeとSafariの場合はC:\Fake Path

関連するjsfiddleを参照してください。

フィドル

于 2012-12-11T22:07:54.700 に答える
1

それは機能しますか?

$('#file').change(function() {
  $('#abc').val($(this).val());
});

私はそうではないと思います:bfavarettoの答えを参照してください。

于 2012-12-11T22:04:52.740 に答える