为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript For Loop迭代多个输入数限制

Javascript For Loop迭代多个输入数限制

梦里花落0921 2021-05-18 13:10:57
在我的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;

}


查看完整回答
反对 回复 2021-05-27
  • 3 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信