嘿伙计们我试图提交一个带有文件输入类型的简单表单。挑战在于我希望提交文件选择发生。
我的表格如下:
<form id="uploadForm" action="submit.php" method="post" enctype="multipart/form-data">
<div class="fileUpload btn btn-lg btn-primary">
<span>Choose File</span>
<input id="imageBtn" type="file" class="upload" name="image"/>
</div>
</form>
我的JavaScript如下:
$("input#imageBtn").change(function () {
console.log("submitting...");
// bind to the form's submit event
$('#uploadForm').submit(function() {
console.log("submitting...form");
$('#uploadForm').ajaxSubmit();
return false;
});
});
出于某种原因,我只看到&#34;提交......&#34;在我的控制台中,没有任何东西可以提交。
非常感谢任何帮助!
谢谢。
答案 0 :(得分:0)
来自jQuery文档:
当用户尝试提交表单时,会将提交事件发送给元素。它只能附加到元素上。可以通过单击显式输入类型=“提交”,输入类型=“图像”或按钮类型=“提交”,或者在某些表单元素具有焦点时按Enter键来提交表单。
https://api.jquery.com/submit/
尝试添加适当的标记,例如
<input id="imageBtn" type="file submit" class="upload" name="image"/>
答案 1 :(得分:0)
以下似乎有效。
<form id="imgForm" action="action.php" method="post" enctype="multipart/form-data">
<div class="fileUpload btn btn-lg btn-primary">
<span>Choose File</span>
<input id="imageToBeUploaded" type="file" class="upload" name="image"/>
</div>
</form>
$("body").on('submit', '#imgForm', function(){
$(this).ajaxForm({target:'#uploadStatus'});
console.log("submitting...");
return false;
});
/* Uploading Profile BackGround Image */
$('body').on('change','#imageToBeUploaded', function() {
//submit the form
$("#imgForm").submit();
});