在jquery中获取实际单击的按钮属性

时间:2013-11-20 12:04:10

标签: javascript jquery html

实际上我想在将图像上传到服务器之前预览图像,所以下面是html代码

<html>
<script>
function readURL(input) {
    if (input.files && input.files[0]) 
    {.......}}

$("#selectedFile").change(function(){
    readURL(this);
}); 
</script>

<body>

  <input id="selectedFile" type="file" name="banner_image"/>

  <input type="button" value="Upload image"   onclick="document.getElementById('selectedFile').click();" class="btn btn-large big_btn"/>

</body>
</html>

根据我的表单设计功能,我需要单击一个按钮将文件上传到服务器,如上所示,我点击输入文件字段值并将该文件字段数据发送到上面的readURL()函数。 / p>

所以当我试图在change函数中获取id,name,value属性时,我得到了input file field的属性,所以我能够在更改函数中获取按钮属性的值?

1 个答案:

答案 0 :(得分:2)

一种选择是将点击的按钮存储在全局变量


var clickedBtn = null;

function readURL(input) {
    if (input.files && input.files[0]) 
    {
        alert(input);
    }
}

$("#selectedFile").change(function(){
    if (clickedBtn != null)
    {
        alert(clickedBtn.attr('class')); // get the class attribute, for example
    }
    readURL(this);
}); 


$('.file-upload-btn').click(function(){
    clickedBtn = $(this);
    $("#selectedFile").click();
});

然后在您的HTML中,您应该从按钮中删除onclick属性并添加file-upload-btn类