我正在尝试在选择文件后立即将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"); });
所以我得到警告框但我想将隐藏输入字段的值更改为我选择的文件的路径。任何帮助解决这个问题的人都非常感激。
答案 0 :(得分:6)
通常您会使用$('#elementId').val()
获取元素的值,但是由于安全限制,您不能使用<input type="file">
。无法知道本地文件路径(至少在所有浏览器上都不一致)。
答案 1 :(得分:2)
要获取上传控件<input type='file'>
的文件路径,您可以执行以下操作:
var value = $('#elementID').val();
var value = value.substr(value.lastIndexOf('\\') + 1);
这将修剪文件名之前的任何文件路径。在IE和Firefox的情况下是完整的文件路径,在Chrome和Safari的情况下是C:\Fake Path
。
参见相关的jsfiddle:
答案 2 :(得分:1)
有效吗?
$('#file').change(function() {
$('#abc').val($(this).val());
});
我猜它没有:见bfavaretto回答。