我有一个非常简单的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 Post表格库提交我的图片。
当我使用以下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) {}
}
});
});
});我非常感谢你的帮助。
解决方案:
在收到“黄氏”的建议后,我终于找到了解决办法。如果有人需要解决同样的问题,我会发布它:
$(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) {}
}
});
});
});发布于 2012-05-17 20:48:59
我从未使用过iframe post表单库,但是最初的工作代码看起来像是在文档就绪上设置监听器,在您的代码中,将设置放在文件到上传的更改函数中。因此,基本上每次文件到加载的变化,它将设置整个post形式的东西,每次。
您需要在更改时调用表单的submit函数。我不太确定post做了什么,我也不知道您的整个代码结构,所以我不能真正地提出任何其他建议。但是您的代码的问题是您将post表单的设置放在了错误的位置。
https://stackoverflow.com/questions/10643078
复制相似问题