Задать вопрос
@stanislavkm

Как вывести сообщение об успешной отправке формы?

Каким образом можно реализовать вывод уведомления после успешной отправки данных формы?
Подскажите способ, пожалуйста!
Есть такая идея (но нерабочая. даже при неуспешной отправке выводит 'Удачно отправлено' ):
<Form class="order_form" @submit.prevent=""> 
              <div>
                <Field v-model="fio" class="order_input" type="text" placeholder="Имя" name="first_name" :rules="[isRequired, validateName]"/>
              </div>
                <ErrorMessage class="errMessage" name="first_name" />             
              <div>
                <Field v-model="phone" class="order_input" type="text" placeholder="Телефон" name="phone" :rules="isRequired" />
              </div>
                <ErrorMessage class="errMessage" name="phone" />
...
              <button class="make_order" @click="postOrder">Отправить заказ</button>
            </Form>
            <span>{{successMessage}}</span>


data() {
    return {
        successMessage: '',
    }
  },


postOrder() {
      const order_descriptionStr = this.itemDesc;
      const order_description = JSON.stringify(order_descriptionStr);
      const orderDataStr = {fio: this.fio, phone: this.phone, ...}
      axios.post(`${url}`, orderDataStr)
          .then((response) => {
            console.log(response.data);
            this.successMessage = 'Удачно отправлено!';
          })
          .catch((error) => {
            console.log(error);
          });
    },
  • Вопрос задан
  • 665 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Stepik
    Игра на Vue.js
    1 неделя
    Далее
  • OTUS
    Vue.js разработчик
    4 месяца
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
Решения вопроса 1
@stanislavkm Автор вопроса
Если кому надо, получилось решить вопрос, используя response.data.success, таким образом:
postOrder() {
      const orderDataStr = {fio: this.fio, phone: this.phone ...}
      axios.post(`${url}`, orderDataStr)
          .then((response) => {
            console.log(response);
            if (!response.data.success){
              this.successMessage = 'Данные не были отправлены! Проверьте заполненные данные!';
            }
            else {
              this.successMessage = 'Данные успешно отправлены!';
            }
          })
          .catch((error) => {
            console.log(error);
          });
    },
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы