gpt4 book ai didi

Javascript getElementById 行为奇怪

转载 作者:搜寻专家 更新时间:2023-11-01 04:46:57 25 4
gpt4 key购买 nike

我正在使用 for 循环循环访问一些具有起始值的元素(飞机上的座位)。

这里是:
seatNum - 要循环的座位数
startSeat - 开始骑行的座位

我正在从表单“onsubmit”中调用该函数。

当我尝试获取具有“s1”“s2”“s3”等id命名约定的元素...“s45”“s46”等...基于循环时,问题出现在for循环中计数器添加到起始座位。从0(起始座位)数到seatNum(多少个座位)。

知道为什么 by 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;
}
}
}

最佳答案

将您的 yz 变量转换为数字:

var y = +document.getElementById('seatList1').value;
var z = +document.getElementById('seatList2').value;

var startSeat = (z >= y) ? y : z; // or simply startSeat = Math.min(z,y);

这将解决 @Faruz 的问题指出。

关于Javascript getElementById 行为奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1871833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com