jquery ajax - изображение не очищается после успеха jquery ajax - PullRequest
0 голосов
/ 19 июня 2019

Я использую jquery ajax для отправки формы.по удаче 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 ]

1 голос
/ 19 июня 2019

Попробуйте перевести форму как $('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');
            }
        }
    });
1 голос
/ 19 июня 2019

Вы используете ajax для права на отправку, поэтому вы можете использовать любую formData для отправки и сбросить всю форму как $ ("# your_form_id"). Reset (); или вы можете просто сбросить текстовый тип или поля типа файла, просто установив пустое значение $ ("# id_of_your_file_element"). val ("");

1 голос
/ 19 июня 2019

В соответствии с вашим кодом вам не хватает .required класса или id вашего элемента ввода html filre, пожалуйста, убедитесь.

Ниже приведены способы очистки ввода файла.

val('')

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

По clone() методу

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

Сбросить полную форму По

$("#inputId").closest('form').trigger('reset');
0 голосов
/ 19 июня 2019

очистка изображения и всех полей, которые мы должны использовать для сброса формы. document.getElementById ("formId"). Reset (); или document.querySelector ( "formSelector") сброса ();.

$(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');
            }
        }
    });
...