如何在JavaScript函数中传递文件元素

时间:2013-06-05 00:56:06

标签: javascript jquery html5

我在我的应用程序中使用JavaScript,就像那个

这样的函数名称裁剪器
function cropper(){
var selectedImg = $('#image_file')[0].files[0];
}

我使用来自我的html的ID image_file的文件元素来调用它,就像这个

 <input type="file" id="image_file" name="picture1" onchange="cropper()"/><br>

我只想更改上面的功能

function cropper(variable){
var selectedImg = variable[0].files[0];
}

这样我就可以为不同的文件元素分配不同的ID。能否请您建议我如何实现上述功能。

编辑:

我的网站上有4个文件附件按钮,我想使用不同的ID,所以就像那样。

<input type="file" id="picture1" name="picture1" onchange="cropper(picture1)"/><br>
<input type="file" id="picture2" name="picture2" onchange="cropper(picture2)"/><br>
<input type="file" id="picture3" name="picture3" onchange="cropper(picture3)"/><br>
<input type="file" id="picture4" name="picture4" onchange="cropper(picture4)"/><br>

2 个答案:

答案 0 :(得分:2)

您可以将事件对象传递给处理程序

<input type="file" id="image_file" name="picture1" 
                                   onchange="cropper(event)"/><br>

然后在方法

中使用事件对象
function cropper(event){
   var selectedImg = event.target.files ? event.target.files[0]
                                        : $('#image_file')[0].files[0];
}

答案 1 :(得分:0)

//variable = id of an element.
function cropper(variable){
     var selectedImg = $('#'+variable)[0].files[0];
}