ajaxForm没有提交文件输入选择更改

时间:2015-08-27 20:29:02

标签: javascript jquery forms ajaxform ajax-forms

嘿伙计们我试图提交一个带有文件输入类型的简单表单。挑战在于我希望提交文件选择发生。

我的表格如下:

<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;在我的控制台中,没有任何东西可以提交。

非常感谢任何帮助!

谢谢。

2 个答案:

答案 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();
});