Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не очищается форма после отправки


Автор: Sicky 22.1.2016, 09:37
Есть 5 форм обратной связи на странице. Ни одна из них не чистится после отправки, сначала чистилась только первая(она в модальном окне), но потом(не помню что ковырял) и она перестала.
Реализовано все через энное место:
На каждой форме висит
Код

onclick="AjaxFormRequest('messegeResult', 'callform1(дальше 2 и т.д.)', 'form.php')"

А дальше каждую форму обрабатывает
Код

function AjaxFormRequest(result_id, callform1, url) {
    jQuery.ajax({
        url: url,
        type: "POST",
        dataType: "html",
        data: jQuery("#" + callform1).serialize(),
        success: function (response) {
            document.getElementById(result_id).innerHTML = response;
            document.forms.callform1.reset();
        },
        error: function (response) {
            document.getElementById(result_id).innerHTML = "<p>Возникла ошибка при отправке формы. Попробуйте еще раз</p>";
        }
    });
}

Все работает прекрасно, но формы не удается почистить никакими методами из гуглов. Что я делаю не так? Или проблема в том, что на одной странице висят все формы и на каждую висит скрипт?

Автор: ksnk 22.1.2016, 10:48
Попробуй вместо неправильного ресета поставить
Код

jQuery("#" + callform1)[0].reset();

ну или 
Код

document.forms[callform1].reset();
 Но в этом случае в форме обязан быть атрибут name с таким же значением, как и ID

Автор: Sicky 22.1.2016, 12:43
ksnk, вот спасибо!

Автор: Padonak 23.1.2016, 11:08
В коде сильно не хватает чего-нибудь типа if(document.all){...}

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Ne-ochishchayetsya-forma-posle-otpravki-id56a1ce92ae2015d3308b4567#findElement_E7045_56a33502ae201560148b5668_0

Автор: sQu1rr 24.1.2016, 17:04
Цитата(Padonak @  23.1.2016,  09:08 Найти цитируемый пост)
if(document.all){

зачем? устарело 100 лет назад, да и в стандарте никогда небыло...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)