Закрытие формы Всплывающее окно при отправке - PullRequest
3 голосов
/ 01 октября 2019

У меня есть всплывающая форма, которая вызывается с помощью:

$(function() {
    $('#add-company').click(function() {
        $('#contactForm').fadeToggle();
    })
});

Затем я отправляю форму через Ajax, используя:

jQuery(document).ready(function () {
    $("#sbmt").click(function(e) {
        e.preventDefault();
        e.stopPropagation();

        var one = document.getElementById("one").value;
        var two = document.getElementById("two").value;

        var DataForm = 'one1=' + one + '&two1=' + two;
        if (one == '' || two == '') {
        alert("Please Fill All Fields");
        } 
        else {
        // AJAX code to submit form.
            jQuery.ajax({
                type: "POST",
                url: '/ajax.php',
                data: DataForm,
                dataType:"json", 
                success:function() {
                    $('#company-form').each(function(){
                        this.reset();   //Here form fields will be cleared.
                    });
                },
                complete: function(){
                    $('#contactForm3').fadeToggle();
                }
            });
            return false;  
        }
    });
});

Я хочу закрыть форму, когдаданные были обновлены, как вы можете видеть, я добавил:

complete: function(){
    $('#contactForm3').fadeToggle();
}

, но без радости.

, который хорошо работает для большинства полей, но есть пара раскрывающихся полей <select>что это не ясно, поэтому, если я снова открою форму, поля остаются заполненными.

Необходим код кода формы

<div id="contactForm3">
    <h1>Form</h1>
    <form  action="" method="POST" name="company-form" id="company-form">
        <span>
            <label>One</label>
            <input id="one" name="one" placeholder="one" type="text" required />
        </span>
        <span>
            <select id="two" name="two" class="limitedNumbChosen" multiple="false">
                <option value="Y">Yes</option>
                <option value="N">No</option>
            </select>
        <input id="sbmit" class="formBtn" type="submit" />
        <input class="formBtn" type="reset" />
       </span>
    </form>
</div>

ОБНОВЛЕНИЕ

Если я использую

success: function() {
    alert('Message sent');
},
complete: function(){
    $('#dataForm3').each(function(){
        this.reset();   //Here form fields will be cleared.
    });
}

Это очищает форму, которая, я полагаю, является началом .. .

Я пытался использовать this.fadetoggle();, но это не является принятой функцией ... Я использую последнюю версию jQuery, и она работает, чтобы открыть форму, но не закрыть ее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...