如何触发我的jquery表单提交

时间:2015-03-16 03:21:47

标签: javascript jquery ajax

现在表单正在提交但是它使用默认网址,我希望它在我的javascript中使用表单提交事件,以便它传递.ajaxSubmit()选项。

这是javascript。



$('#selectedFile').change(function() {
    var id = $('#selectedFile').data('id');
    var options = {
        target: '#output',    
        beforeSubmit: showRequest,  
        success: showResponse,  

        url: '/ManageSpaces/UploadImage',
        data: { id: id },
        type:      'post'        
       
    };

    $("#imageform").trigger('submit'); // I want this to trigger the submit below! Not the default form submit.

    
    $('#imageform').submit(function () {
         
        $(this).ajaxSubmit(options);
        
        return false;
    });
});




<form id="imageform" enctype="multipart/form-data">
            <input type="file" id="selectedFile" style="display: none;" data-id='@Model.YogaSpaceId' />
            <input type="button" value="Add Photos" class="btn" id="pictureupload" />
        </form>

行动方法

[HttpPost]
    public ActionResult UploadImage(int id, HttpPostedFileBase image)
    {
        //do some stuff to save the image

        return Json("Saved");
    }

1 个答案:

答案 0 :(得分:1)

您在注册提交处理程序之前触发提交,在您的情况下,一个选项是直接在更改处理程序中调用ajaxSubmit,而不使用下面给出的提交处理程序。

$('#selectedFile').change(function () {
    var id = $('#selectedFile').data('id');
    var options = {
        target: '#output',
        beforeSubmit: showRequest,
        success: showResponse,

        url: '/ManageSpaces/UploadImage',
        data: {
            id: id
        },
        type: 'post'

    };

    $('#imageform').ajaxSubmit(options);
});

另一个选择是在更改处理程序之外注册提交处理程序,如下所示,并在更改处理程序中触发提交

$('#selectedFile').change(function () {
    $("#imageform").trigger('submit'); // I want this to trigger the submit below! Not the default form submit.
});

$('#imageform').submit(function () {
    var id = $('#selectedFile').data('id');
    var options = {
        target: '#output',
        beforeSubmit: showRequest,
        success: showResponse,

        url: '/ManageSpaces/UploadImage',
        data: {
            id: id
        },
        type: 'post'

    };
    $(this).ajaxSubmit(options);
    return false;
});