在我的javascript类的javascript作业分配上,该分配需要一个“ .js”进行循环迭代,以列出用户输入的宠物的名称(限制为3个)。有三个水平间隔的文本输入框,无论用户将宠物名称输入到哪个文本框中,提交按钮下方的“消息”(id)输出都会显示输入的宠物名称,直到用户强加限制(< = 3)。输入宠物的名字并单击提交按钮后,页面将从用户输入的最左边的文本框开始向右显示宠物的名字,直到用户选择的输入限制(<= 3)达到极限 因此,如果用户选择2作为限制,则只会在“提交”按钮下方显示输入了宠物名称的最左边的文本框。到目前为止,我已经尝试过将宠物ID和宠物名称分别称为memberid('pet'+'cntr'),membername,并在for循环迭代中一起为它们指定成员的ID + = membered + membername;if (myNumPets == '' || myNumPets > 3) { $('numpets_error').innerHTML = " Please enter the number of pets you have "; myTruth = true;} else { if (myNumPets < '4') { $('numpets_error').innerHTML = ""; myTruth = false; }}if (myNumPets == 0) { myNumPetsEntered = 0;} else { if (myNumPets == 1) { myNumPetsEntered = 1; } else { if (myNumPets == 2) { myNumPetsEntered = 2; } else { if (myNumPets == 3) { myNumPetsEntered = 3; } } }}cntr = '';members = "";for (cntr = 1; cntr <= myNumPetsEntered; cntr++) { var memberid = "pet" + cntr; console.log("MID " + memberid); var membername = $(memberid).value; members += memberid + membername;}$('message').innerHTML = members;在此当前代码中,当数量限制为“ 1”时,只有第一个输入框在“提交”按钮下方的“消息”区域中显示输入的宠物的名字;但是,无论输入的宠物的名字在第一个和最左边的输入框中,还是在它右边的两个输入框中,我都希望输入的宠物的名字出现在此处,我希望同样的情况也是如此其他数量限制(2和3)中的一个。
3 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
在for循环中,您只是盲目地抓住了N文本输入的值,其中N = myNumPetsEntered。
如果myNumPetsEntered == 1并且您已经在第二个输入框中输入了宠物的名字,则循环将永远不会看到该值。您需要进行一些验证,以确保您实际上已经获取了一个值。
我不知道此家庭作业的参与程度,但您可能还想验证带有值的文本框的数量是否至少等于(或大于)用户所说的宠物名字的数量。要输入。
您还可以清理这些嵌套的if语句-假设您已myNumPets具备防止出现负值的逻辑,则可以使用:
if (myNumPets <= 3) {
myNumPetsEntered = myNumPets;
}
添加回答
举报
0/150
提交
取消