我有一个非常简单的 html 表单:
<form enctype="multipart/form-data" method="POST" action="fileupload" id="image-upload-form" target="iframe-post-form">
<input type="file" name="file" id="file-to-upload">
<input type="submit" value="upload" id="image-upload-submit">
</form>
我正在使用iframe 发布表单库来提交我的图像。
当我使用以下 jquery 时,它可以完美运行:
$(document).ready(function(){
$('#image-upload-form').iframePostForm({
post : function() {
$("#progress-indicator").show();
},
complete : function (response) {
$("#progress-indicator").hide();
try {
json = $.parseJSON(response);
} catch (e) {}
}
});
});
现在,我想消除提交按钮,而页面应该在选择文件后立即自动提交图像。我是 jquery 和 jscript 的初学者,我一定犯了一些小错误,但我无法弄清楚,为什么几乎相同的代码对我不起作用。这是错误代码(我可以在 firebug 中看到,我在该代码中的断点被命中,但图像不再提交):
$(function() {
$('#file-to-upload').bind('change', function(event) {
$('#image-upload-form').iframePostForm({
post : function() {
$("#progress-indicator").show();
},
complete : function (response) {
$("#progress-indicator").hide();
try {
json = $.parseJSON(response);
} catch (e) {}
}
});
});
});
非常感谢您的帮助。
解决方案:
收到@Huangism的建议后,终于找到了解决办法。我发布它以防有人需要解决同样的问题:
$(function() {
$('#file-to-upload').bind('change', function(event) {
$('#image-upload-form').submit().iframePostForm({
post : function() {
$("#progress-indicator").show();
},
complete : function (response) {
$("#progress-indicator").hide();
try {
json = $.parseJSON(response);
} catch (e) {}
}
});
});
});