Подскажите как вывести сообщение об успешной отправке формы под кнопкой?
<form action="#" class="form">
<div class="form__field">
<input type="text" name="name" placeholder="Имя*" required />
</div>
<div class="form__field">
<input type="email" name="name" placeholder="E-Mail" />
<span class="form__error">Это поле должно содержать E-Mail в формате no-name@mail.com</span>
</div>
<div class="form__field">
<input type="tel" name="name" placeholder="Телефон" pattern="[\+]\d{1}\s[\(]\d{3}[\)]\s\d{3}[\-]\d{2}[\-]\d{2}" minlength="18" maxlength="18" />
<span class="form__error">Это поле должно содержать телефон в формате +7 (123) 456-78-90</span>
</div>
<div class="form__field">
<input type="url" name="name" placeholder="Ваш сайт" />
<span class="form__error">Это поле должно содержать URL в формате http://mysite.ru</span>
</div>
<button class="btn btn-primary" type="submit">Submit</button>
<div class="info container"></div>
</form>
Подскажите как вывести сообщение об успешной отправке формы под кнопкой?
Вот отправка и проверка:
var f = document.querySelector('form')
f.addEventListener('submit', function(e) {
e.preventDefault();
var data = new FormData(this) // Сборка формы
var url = 'https://jsonplaceholder.typicode.com/posts'
fetch(url, {
method: 'post',
headers: {
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
},
body: data // Отправка самой формы
})
.then(response => response.json())
.then((json) => { // Ответ
if (json.id === 101) { // Для примера проверка пройдена если id === 101
// Добавление поля
var info = document.querySelector('.info')
info.innerText = 'Удачно Отправлено'
}
// Дебаг узнать что прошла форма
console.log(json)
})
.catch(err => console.log(err));
})
<form action="#" class="form">
<div class="form__field">
<input type="text" name="name" placeholder="Имя*" required />
</div>
<div class="form__field">
<input type="email" name="name" placeholder="E-Mail" />
<span class="form__error">Это поле должно содержать E-Mail в формате no-name@mail.com</span>
</div>
<div class="form__field">
<input type="tel" name="name" placeholder="Телефон" pattern="[\+]\d{1}\s[\(]\d{3}[\)]\s\d{3}[\-]\d{2}[\-]\d{2}" minlength="18" maxlength="18" />
<span class="form__error">Это поле должно содержать телефон в формате +7 (123) 456-78-90</span>
</div>
<div class="form__field">
<input type="url" name="name" placeholder="Ваш сайт" />
<span class="form__error">Это поле должно содержать URL в формате http://mysite.ru</span>
</div>
<button class="btn btn-primary" type="submit">Submit</button>
<div class="info container"></div>
</form>
<form action="#" class="form"
onsubmit="document.querySelector('.info.container').textContent = 'Успешно отправлено.';"
target="formFrame">
<iframe name="formFrame" style="display:none;"></iframe>
<div class="form__field">
<input type="text" name="name" placeholder="Имя*" />
</div>
<div class="form__field">
<input type="email" name="name" placeholder="E-Mail" />
<span class="form__error">Это поле должно содержать E-Mail в формате no-name@mail.com</span>
</div>
<div class="form__field">
<input type="tel" name="name" placeholder="Телефон" maxlength="18" />
<span class="form__error">Это поле должно содержать телефон в формате +7 (123) 456-78-90</span>
</div>
<div class="form__field">
<input type="text" name="name" placeholder="Ваш сайт" />
<span class="form__error">Это поле должно содержать URL в формате http://mysite.ru</span>
</div>
<button class="btn btn-primary" type="submit">Submit</button>
<div class="info container"></div>
</form>
<div class="info container">Текст</div>
сделать display: none; Если используется AJAX то он возвращает с сервера ответ. В ответе, если success можно задавать этому контейнеру display:block; a с помощью SetTimeout через несколько секунд убирать сообщение, задавая ему снова display:none;
П.С. в этом случае сообщение будет выводиться не просто по клику, а лишь если форма реально отправлена и с сервера пришел ответ. А если хотите чтоб в любом случае была надпись - вешайте событие на клик.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сижу уже 2 часа не могу блок по центру в диве слайдера поставитьПроблема в том , что я уже все перепробовал
Хочу сделать табы возник вопрос как мне сравнить индексы массивов двух классов чтобы по нужному клику выбирался нужный блок, тут я вписываю...
Как инициализировать множество одинаковых dropzone на одной страничке, подскажите пожалуйста