forループを使用して、開始値(平面上の座席)を持ついくつかの要素を循環しています。
ここにそれがあります:
seatNum-startSeatを循環する座席の数
-循環を開始する座席
「onsubmit」というフォームから関数を呼び出しています。
追加されたループカウンターに基づいて、「s1」、「s2」、「s3」などのID命名規則を持つ要素を取得しようとすると、forループで問題が発生します。スタートシート。0(開始シート)からseatNum(シート数)までカウントします。
IDによって適切に解決されない理由はありますか?forループ内の最後のものを除いて、他のすべては正常に動作します。
はい、私はプログラミングに不慣れなので、おそらくベストプラクティスを持っていません。スタイル的には、寛容にしてください。
function check() {
var startSeat;
var fName = document.getElementById('fName').value
var lName = document.getElementById('lName').value
var address = document.getElementById('address').value
var city = document.getElementById('city').value
var state = document.getElementById('state').value
var zip = document.getElementById('zip').value
var phone = document.getElementById('phone').value
var seatNum = document.getElementById('seatNumber').value
var y=document.getElementById('seatList1').value;
var z=document.getElementById('seatList2').value;
if (z >= y) {
startSeat = y;
}
else {
startSeat = z;
}
if ( (fName == "") || (lName == "") || (address == "") || (phone == "") || (zip == "") || (state == "") || (city == "") ) {
alert("You must fully complete the form");
return false;
}
for (var i = 0; i < seatNum; i++) {
if (document.getElementById("s"+(startSeat+i)).className=="taken"){
alert("Selected seat(s) already booked.");
return false;
}
else {
continue;
}
}
}