2014-03-26 6 views
0

поэтому я могу изменить текст на кнопку отправки после отправки. Как из «Отправить сообщение», он будет отправлен после отправки. Можно ли вернуть текст обратно в «Отправить сообщение» через несколько секунд? Форма обрабатывается в AJAX.Изменить текст для возврата по умолчанию на кнопку отправки

Спасибо!

ответ

1

Давайте предположим, что у вас есть форма, которая имеет идентификатор, называемый ajax-form, поле ввода в этой форме имеет идентификатор: form-input и имя: title и кнопка представить чей идентификатор submit-btn. Теперь давайте сделаем ajax как удар:

var ajaxForm = $('#ajax-form'), 
    submitBtn = ajaxForm.find('#submit-btn'); 
ajaxForm.on('submit', function(e) { 
    e.preventDefault(); 
    $.ajax({ 
    type: 'POST', 
    url: ajaxForm.prop('action'), 
    data: { 
     title: ajaxForm.find('input').val() 
    }, 
    dataType: 'json', 
    beforeSend: function() { 
     submitBtn.text('Send message'); 
    }, 
    success: function() { 
     submitBtn.text('Sent'); 
    }, 
    complete: function() { 
     setTimeout(function() { 
     submitBtn.text('Send message'); // Change it back after 4 seconds 
     }, 4000); 
    } 
    }); 
}); 

Возможно, вам потребуется добавить обработчик ошибок. Для получения дополнительной информации см. Документы jQuery AJAX: http://api.jquery.com/jQuery.ajax/

Надеясь, это может вам помочь. :)