Я использую цикл for для циклического перехода через некоторые элементы со стартовым значением (места на плоскости).Javascript getElementById действует нечетно
Здесь:
seatNum - Количество мест, подлежащих циклическое через
startSeat - сиденье, чтобы начать езду на велосипеде
Я вызываю функцию из формы «onsubmit».
Проблема возникает в цикле for, когда я пытаюсь получить элементы с соглашением о присвоении имен «s1» «s2» «s3» и т. Д. «S45» «s46» и т. Д. ... на основе счетчик циклов, добавленный к стартовому месту. Подсчет от 0 (начальное место) до местаNum (сколько мест).
любая идея, почему по 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;
}
}
}
Как вы устанавливаете s-like ID? Приходят ли они с разметкой страницы или вы создаете их с помощью javascript после загрузки страницы? – yoda
в разметке. это на самом деле таблица здесь -> http://www.pixology.net/planesite/ – user48202