IE9上的Jquery表单插件问题

时间:2013-11-21 07:33:56

标签: javascript jquery forms asp.net-mvc-3

我正在使用JQuery Form插件。在IE9中,有时我在控制台上收到“SCRIPT5:Access Denied”错误。它适用于Mozilla和Chrome。 这是我的代码:

表单:我的视图中隐藏的表单,我在文件类型输入控件的onchange事件上提交此表单。

<form id="fileAttachment" action="@Url.Action("AttachFile", "Attachment")" method="post" enctype="multipart/form-data">
    <input type="file" id="upload" name="upload" onChange="submitFormOnFileSelection()"/>
    <input type="submit" id="xxx" name="asd" />
</form>

提交表格的代码:

 $(document).ready(function () {
        var options = {
            beforeSend: function () {

            },
            uploadProgress: function (event, position, total, percentComplete) {

            },
            success: function () {

            },
            complete: function(response) {
                $("#AttachmentArea").html(response.responseText);
            },
            error: function () {
                $("#AttachmentArea").html("<font color='red'> ERROR: unable to upload files</font>");
            }

        };
        $("#fileAttachment").ajaxForm(options);

    });

function submitFormOnFileSelection() {

        if ($("#upload").val() != '') {
            $('#fileAttachment').submit(function() {
                $("#fileAttachment").ajaxSubmit(options);
            });
            $("#upload").val('');
        }
    }

IE9上出现问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你不能这样做$(“#upload”)。val('')文件输入ie。清除它的正确方法是用新的输入替换输入。

$("#upload").replaceWith('<input type="file" id="upload" name="upload" onChange="submitFormOnFileSelection()"/>');