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

在我的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)中的一个。


梦里花落0921
浏览 140回答 3
3回答

慕沐林林

在for循环中,您只是盲目地抓住了N文本输入的值,其中N = myNumPetsEntered。如果myNumPetsEntered == 1并且您已经在第二个输入框中输入了宠物的名字,则循环将永远不会看到该值。您需要进行一些验证,以确保您实际上已经获取了一个值。我不知道此家庭作业的参与程度,但您可能还想验证带有值的文本框的数量是否至少等于(或大于)用户所说的宠物名字的数量。要输入。您还可以清理这些嵌套的if语句-假设您已myNumPets具备防止出现负值的逻辑,则可以使用:if (myNumPets <= 3) {&nbsp; myNumPetsEntered = myNumPets;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript