[英]if-statement not working with creating and object
正在做一个项目以创建一个购买门票的网站,在该网站上,您需要填写每个框以创建 object 并将其存储在一个数组中,如果未填写 inn,它将清除所有输入框并显示一个错误信息。 但即使某些要求失败,它仍然会推送到阵列。
JS代码:'''
const billett = [];
function test() {
let valgtFilm = document.getElementById("film").value;
let antall = document.getElementById("antall").value;
let fornavn = document.getElementById("forNavn").value;
let etternavn = document.getElementById("etterNavn").value;
let telefon = document.getElementById("telefornr").value;
let epost = document.getElementById("epost").value;
let tall = Number(antall);
let telefonnr = Number(telefon);
let ut = "<table><tr>" +
"<th>Film</th><th>antall</th><th>Navn</th><th>Etternavn</th><th>Telefonnr</th><th>Epost</th>" +
"</tr>";
const nyBillett = {
film: valgtFilm,
antall: tall,
navn: fornavn,
etternavn: etternavn,
tlf: telefonnr,
epost: epost,
}
if (valgtFilm === "non") {
document.getElementById("valgterr").innerHTML = "Velg en film";
}
if (tall <= 0) {
document.getElementById("antallerr").innerHTML = "Skriv inn antall biletter";
}
if (fornavn === "") {
document.getElementById("forNavnerr").innerHTML = "Skriv inn fornavnet ditt";
}
if (etternavn === "") {
document.getElementById("etterNavnerr").innerHTML = "Skriv inn etternavnet ditt";
}
if (isNaN(telefonnr) || telefon === "") {
document.getElementById("tlferr").innerHTML = "Skriv inn telefon nummeret ditt";
}
if (epost === "") {
document.getElementById("eposterr").innerHTML = "Skriv inn en epost";
}
else {
billett.push(nyBillett);
for (let b of billett){
ut += "<tr>";
ut += "<td>" + b.film + "</td><td>" + b.antall + "</td><td>" + b.navn + "</td><td>" + b.etternavn + "</td><td>" + b.tlf + "</td><td>" + b.epost + "</td>";
ut += "</tr>";
document.getElementById("bestilt").innerHTML = ut;
//fjerner verdier
document.getElementById("film").value = 'Velg film her';
document.getElementById("antall").value = "";
document.getElementById("forNavn").value = "";
document.getElementById("etterNavn").value = "";
document.getElementById("telefornr").value = "";
document.getElementById("epost").value = "";
}
}
}
'''
一种选择是设置成功标志。 当任何条件失败时,也将成功标志更改为失败。 然后最后只在成功标志为真时添加到表中。
let success = true;
if (valgtFilm === "non") {
document.getElementById("valgterr").innerHTML = "Velg en film";
success = false;
}
if (tall <= 0) {
document.getElementById("antallerr").innerHTML = "Skriv inn antall biletter";
success = false;
}
if (fornavn === "") {
document.getElementById("forNavnerr").innerHTML = "Skriv inn fornavnet ditt";
success = false;
}
// etc......
// If, at this point success is true, none of the conditions failed
if (success) {
billett.push(nyBillett);
for (let b of billett){
// code removed for brevity
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.