Я строю форму, используя XMLHttpRequest.Это моя проблема:
когда форма отправлена и ответ равен 0 (строка), сообщение, отображаемое в div #output, выглядит так: «Что-то пошло не так ...» (как и должно быть);
Вместо этого, когда форма отправляется и ответ равен 1 (строка), сообщение, отображаемое в div #output, имеет значение «1», а не «SENT!»(как и должно быть).
HTML
<form id="contactform">
<input name="name" type="text">
<input name="surname" type="text">
<input name="email" type="text">
<input type="submit" value="Send">
</form>
<div id="output"></div>
JS
const form = document.getElementById("contactform");
const output = document.getElementById("output");
form.onsubmit = () => {
var xhr = new XMLHttpRequest();
var formData = new FormData(form);
xhr.open('POST', 'https:...');
xhr.send(formData);
xhr.onreadystatechange = () => {
if (this.readyState === 4 && this.status === 200) {
showResponse(this.response);
}
};
xhr.onerror = () => {
showResponse("0");
};
return false;
};
showResponse = data => {
var text;
switch (data) {
case "0":
text = "Something went wrong...";
break;
case "1":
text = "SENT!";
break;
default:
text = data;
}
output.innerHTML = text;
};
Что не так в моемкод