我有一个表单,它使用 .change() 和 .submit() 在用户选择照片后立即上传照片。我现在尝试在提交()开始后对输入文件实现禁用,以避免同时多次上传。
HTML:
<form action="includes/photos.php" id="joinPhotoUploadForm" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
</form>
JQUERY:
$('input#file').change(function() {
$('form#joinPhotoUploadForm').submit();
$('input#file').prop('disabled', true); // Prevent Multiple Files Uploads
}
});
问题是在 IE 下,只有在第二次上传开始 .submit() 之前禁用 input#file。
有没有办法防止在 .submit() 开始之前发生禁用情况?
还有其他方法可以实现这一目标吗?我还可以禁用其他东西吗?我可以解除.change()的绑定(bind)吗?注意:禁用稍后启用(ajax返回成功后)。
谢谢
最佳答案
如果文件输入被禁用,您需要防止表单再次提交。第二个 eventListener 将为您执行此操作。
$('input#file').change(function() {
$('form#joinPhotoUploadForm').submit();
$('input#file').prop('disabled', true); // Disable to Prevent Multiple Files Uploads
});
$("#joinPhotoUploadForm").submit(function(e) {
if ($(this).find("#file").is(":disabled")) {
e.preventDefault();
}
});
关于jquery .submit() + 禁用输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435550/