Хотите автоматически обновить мою форму без перезагрузки страницы - PullRequest
0 голосов
/ 13 июня 2018

У меня есть форма Ask Question, с помощью которой клиент может задать нам любой вопрос.Пока клиент отправляет форму, мы даем ему сообщение с благодарностью в течение 5 секунд, затем скрываем сообщение и снова показываем форму Ask Question в этом разделе.

Но, несмотря на то, что после успешного сообщения приходит от, входные значения формы все еще там.Перед отправкой я хочу получить свежие данные без какого-либо значения, например формы.

Fill the form for asking a question

Give thanks message after successfully submitted

Auto new form comes after shown successful message for 5 seconds. But still the previous input values there

Вот мой ajax код

$.ajax({

            url:"{{ url('/ask_question_form') }}",
            type: 'GET',
            data: {_token :token, name : name, email : email, contact : contact, question : question},
            success:function(msg){

                // console.log(msg);

                $('.question-modal .textwidget').hide();

                trHTML = "";
                trHTML += "<div id='user-question' style='margin-top:50%; color:#0071BC'>";

                trHTML += "Thanks for your question. We will save your question for further query and give a feedback as soon as possible.";

                trHTML += "</div>";

                $('.question-modal').append(trHTML);

                setTimeout(function() {
                    $('.question-modal #user-question').remove();
                    $('.question-modal .textwidget').show();
                }, 5000);


            }
        });

Где textwidget - имя класса этого form

Ответы [ 5 ]

0 голосов
/ 13 июня 2018

Вот пример выполнения функции сброса формы:

function reset(){
    setTimeout(function(){    
      var form = document.getElementById('myForm');
      form.reset();
    }, 1000);
}
var btn = document.getElementById('btn');
btn.onclick = function(){
  reset();
}
<form id="myForm">

  <input value="" />
  <br />
  <input value="" />
  <br />
  <input value="" />
  <br />
  <input value="" />
  <br />

  <button id="btn" type="button">reset</button>
</form>
0 голосов
/ 13 июня 2018

Обратите внимание, что кажется, что вы используете какой-то токен вместе с формой.

Это означает, что если вы сбросите значения, этот токен все еще будет там, и, возможно, сервер не приметследующая отправка формы, из-за дублирования использования этого токена.

Вам потребуется установить новый токен, когда сервер ответит.

0 голосов
/ 13 июня 2018

Сотрите значения всех полей, как только вы успешно отправите форму.

document.querySelector('get-your-field1').value = '';
document.querySelector('get-your-field2').value = '';
document.querySelector('get-your-field3').value = '';
document.querySelector('get-your-textarea').value = '';

Или вы можете использовать form reset.

const form = document.querySelector('form');
const btn = document.querySelector('button');

btn.addEventListener('click', event => {
  event.preventDefault();
  form.reset();
});
<form>
  <input />
  <input />
  <button type="submit">submit</button>
</form>
0 голосов
/ 13 июня 2018

Через 5 секунд и когда вы скрываете «сообщение об успехе», вы можете сбросить свою форму

$("#formId").get(0).reset();

Здесь " formId " idвашей формы.

0 голосов
/ 13 июня 2018

Лучшее решение -

$("#form")[0].reset();

используйте этот код при получении сообщения об успехе.

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