我遇到了Valums Ajax文件上传的问题。
由于插件在服务器端进行了一些修改后工作正常,我无法实现特定的行为。
我的DOM由输入文件和容器组成,用于实例化文件上载按钮。
我想要的是能够在单击input:file [name =“upload-file”]时触发fileuploader插件。
...
<div id="upload-accepted">
<fieldset>
<label for="upload-file">Select a file:</label>
<input type="file" name="upload-file" id="upload-file"/>
<noscript>
<p>Please enable JavaScript to use file uploader.</p>
</noscript>
</fieldset>
<div id="upload-container">
</div>
</div>
...
<script type="text/javascript">
$(function() {
var uploader = new qq.FileUploader({
action: '/file-upload',
element: document.getElementById('upload-container'),
onSubmit: function(id, filename){...},
onComplete: function(id, fileName, responseJSON){...}
});
});
</script>
我试图在脚本上添加以下内容但它不起作用
$("#upload-file").live('change', function(event) {
event.preventDefault();
$('.qq-upload-button').trigger('click');
return false;
});
任何线索?
提前致谢!
答案 0 :(得分:1)
你应该触发:
$('input[name="file"]').trigger('click');
对我有用!
答案 1 :(得分:0)
设置FileUploader时,指定option元素,通常是这样的:
new qq.FileUploader({
element: document.getElementById('uploadImage'),
...
如果检查DOM脚本,则使用此id在div中插入上传输入。因此,您应该能够访问输入并链接点击操作。
如果您使用的是jQuery,它应该是这样的:
$('#uploadImage input').trigger('click');
或只是
$('#uploadImage input').click();