我在使用jQuery中的文件上传时,使用了trigger('click')
。以下是我的代码。
$(document).on('click', '.browse', function(){
var file = $(this).parent().parent().parent().find('.file');
file.trigger('click');
console.log('header');
})
以下是我的HTML代码:
<div class="form-group" style="margin-bottom:0px;">
<input type="file" name="logoimage" id="logoimage" ng-model= "form.logoimage" onchange="angular.element(this).scope().uploadedImage(this);" accept=".gif,.jpg,.jpeg,.png" class="file">
<div class="input-group col-xs-12">
<input type="text" class="form-control" placeholder="Upload Logo" name="setlogoimage" id="setlogoimage" ng-model="setlogoimage">
<span class="input-group-btn">
<button class="browse btn btn-primary" type="button">Upload File</button></span>
</div>
</div>
如果我点击文件输入,上面的函数会执行3/2次,我可以从控制台消息中知道这一点。一次点击时,
header
会出现3次,因此我必须在从磁盘选择文件后再点击打开按钮3次。在这里,我需要在一次点击时执行一次。
input type=file
,但有时它能正常工作,大多数情况下则出现问题。 - satyaUncaught TypeError: Cannot read property 'length' of undefined
。 - satya