清除输入会导致页面刷新

时间:2016-06-17 08:21:33

标签: jquery forms

我制作了一个上传文件的函数,其中包含2个其他字段,用于上传文件的名称和描述。有进度条。所有工作正常,但是当我想在成功后清除输入字段时,整个页面将被重新加载。这是我的jQuery代码:

$('#frmUploadFile').on('submit', function(e) {
    e.preventDefault();

    if ($('#fileGivenName').val() == '') {
        alert('Please set a file name.');
        return;
    }

    $.ajax({
        url: root_url + "document/reception",
        type: "POST",
        dataType: 'json',
        data: new FormData(this),
        xhr: function() {
            var myXhr = $.ajaxSettings.xhr();
            if (myXhr.upload) {
                myXhr.upload.addEventListener('progress', progress, false);
            }
            return myXhr;
        },
        contentType: false,
        cache: false,
        processData: false,
        beforeSend: function() {
            //$("#preview").fadeOut();
        },
        success: function(data) {
            if (data.success) {
                $('#fileMessageUpload').html(messageUploadSucceed).fadeIn().delay(2000).fadeOut('slow');
                $('#fileGivenName').val('');
                $('#fileDesc').val('');
                $('#fileName').val('');
            } else if (data.error) {
                messageUploadFailed += ':: ' + data.message;
                $('#fileMessageUpload').html(messageUploadFailed).fadeIn().delay(2000).fadeOut('slow');
            }
        },
        error: function(data) {
            messageUploadFailed += ':: ' + data.message;
            $('#fileMessageUpload').html(messageUploadFailed).fadeIn().delay(2000).fadeOut('slow');
        }
    });
})

如果我删除这些线条,它可以工作,但我的字段不会被清除。

$('#fileGivenName').val('');
$('#fileDesc').val('');
$('#fileName').val('');

EDIT ----------------------- 似乎清除缓存并使用CRTL或SHIFT重新加载页面并停止重新加载页面但是我的字段没有重置,所以要解决问题我删除了&#39 ;;'在行尾和它的作用我不知道为什么:

if(data.success){
                    $('#fileMessageUpload').html(messageUploadSucceed).fadeIn().delay(2000).fadeOut('slow')
                    console.log('on est dans le success')
                    $('#fileGivenName').val('')
                    $('#fileDesc').val('')
                    $('#fileName').val('')
                }

0 个答案:

没有答案