我正在构建一个相当大的表格。在某一时刻,用户可以上传图像。
此图像应立即上传。然后用户应该继续填写表格。
HTML
<form name="registration" id="registration" action="confirm.php" method="post">
<input name="firstname" id="firstname" type="text" />
<input name="lastname" id="lastname" type="text" />
<!-- file upload -->
<input name="file" id="file" type="file" />
<input name="newsletter" type="checkbox" id="newsletter" />
<input name="captcha" id="captcha" type="tel" />
</form>
Javascript (jQuery)
//upload file on change event
$('#file').change(function() {
// put the image object into a variable
// formData is incomaptible with IE9/8/7
fileData = new FormData();
fileData.append('file', this.files[0]);
var options = {
// XMLHttpRequest Level 2 - no cross-browser support
data: fileData,
url: 'upload.php', // override standard url for this call only
type: 'post'
};
// make an ajax call to post the image
$.ajax(options);
// Alternatively use the jQuery Form plugin
// $('#registration').ajaxSubmit(options);
});
不幸的是,当我希望仅提交输入文件字段时,jQuery 表单插件http://malsup.com/jquery/form/#file-upload会提交整个表单。
此外,我宁愿避免在我的 HTML 标记中构建多个单独的表单,因为我还必须处理和提交多个表单。
我在这里想念什么?