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(),但在 an 的情况下<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 回答