将值发送到函数javascript

时间:2016-12-20 12:00:18

标签: javascript jquery

我有这个脚本用于展示图片预览:

<script>
function handleFileSelect(evt,ids) {
var files = evt.target.files;
var f = files[0];
var reader = new FileReader();

reader.onload = (function(theFile) {
return function(e) {
document.getElementById(''+ids).innerHTML = ['<img src="', e.target.result,'" title="', theFile.name, '" width="50"/>'].join('');
};
})(f);

reader.readAsDataURL(f);
}
</script>


<input type="file" id="files2" />
<output id="list2"></output>


<script>
document.getElementById('files2').addEventListener('change',handleFileSelect('evt','list2'),false);
</script>


<input type="file" id="files3" />
<output id="list3"></output>

<script>  document.getElementById('files3').addEventListener('change',handleFileSelect('evt','list3'),false);
</script>

为此,使用不同的输入文件,并在每种情况下显示预览图像,我需要更改每个图像的每个图像的显示预览容器的ID等

function handleFileSelect(evt,ids) 

ID用于为每种情况发送此不同的ID:

<input type="file" id="files2" />
    <output id="list2"></output>

<input type="file" id="files3" />
    <output id="list3"></output>

对于我需要的作品,我需要将此 ID 发送给 addEventListener ,但是没有工作

感谢您的帮助,问候

1 个答案:

答案 0 :(得分:1)

addEventListener的第二个参数必须是函数。你没有传递函数,你正在调用函数并传递它的返回值。它应该是:

document.getElementById('files2').addEventListener('change', function() {
    handleFileSelect('evt','list2');
}, false);