jQuery AJAX-jQuery AJAX成功后未清除图像

时间:2019-06-19 05:17:09

标签: javascript jquery node.js ajax ejs

我正在使用jquery ajax进行表单提交。 关于阿贾克斯的成功,我正在清理所有领域 所有字段均被清除,但仅图像未清除。

$(this).ajaxSubmit({
        error: function(xhr) {
            //status('Error: ' + xhr.status);
            $('#msgDisp span').text('Insertion FAILED!');
            $('#model-overlay').css('display', 'block');
            $("#msgDisp").css('display','block').fadeOut(3000);
            $('#overlay').css('display', 'none');
        },
        success: function(response) {
            console.log(response);
            if (response.errors == 0) {
                $('.required').each(function () {
                    $('#'+$(this).attr('id')).val('');
                    $('#blah').hide();
                });
                $('#msgDisp span').text('Details updated Successfully');
                $("#msgDisp").css('display','block').fadeOut(3000);
                $('#overlay').css('display', 'none');
            }
        }
    });

4 个答案:

答案 0 :(得分:1)

根据您的代码,您缺少.required类或html filre输入元素的id,请确保。

以下是清除文件输入的方法。

通过val('')

$('#inputId').val(''); 

通过clone()方法

$inputId = $('#inputId');
$inputId.replaceWith( $inputId = $inputId.clone( true ) );

通过

重置完整表格
$("#inputId").closest('form').trigger('reset');

答案 1 :(得分:1)

尝试像$('form')[0].reset();

这样的表单格式
$(this).ajaxSubmit({
        error: function(xhr) {
            //status('Error: ' + xhr.status);
            $('#msgDisp span').text('Insertion FAILED!');
            $('#model-overlay').css('display', 'block');
            $("#msgDisp").css('display','block').fadeOut(3000);
            $('#overlay').css('display', 'none');
        },
        success: function(response) {
            console.log(response);
            if (response.errors == 0) {
                $('form')[0].reset();
                $('#msgDisp span').text('Details updated Successfully');
                $("#msgDisp").css('display','block').fadeOut(3000);
                $('#overlay').css('display', 'none');
            }
        }
    });

答案 2 :(得分:1)

您正在使用ajax进行提交,因此您可以使用formData进行提交,并将整个表单重置为$(“#your_form_id”)。reset();或者您可以通过简单地设置一个空值$(“#id_of_your_file_element”)。val(“”);

来重置类型文本或键入文件字段

答案 3 :(得分:0)

清除图像和所有字段,我们必须使用重置表单功能。 document.getElementById(“ formId”)。reset(); document.querySelector(“ formSelector”)。reset();

$(this).ajaxSubmit({
        error: function(xhr) {
            //status('Error: ' + xhr.status);
            $('#msgDisp span').text('Insertion FAILED!');
            $('#model-overlay').css('display', 'block');
            $("#msgDisp").css('display','block').fadeOut(3000);
            $('#overlay').css('display', 'none');
        },
        success: function(response) {
            console.log(response);
            if (response.errors == 0) {
                $('.required').each(function () {
                    $('#'+$(this).attr('id')).val('');
                    document.getElementById("uploadForm").reset();
                    $('#blah').hide();
                });
                $('#msgDisp span').text('Details updated Successfully');
                $("#msgDisp").css('display','block').fadeOut(3000);
                $('#overlay').css('display', 'none');
            }
        }
    });