Javascript 什么';我的循环有什么问题吗
我是JavaScript新手,我的代码中有一些错误,我找不到!它快把我逼疯了 好的,这就是我想做的,用户选择多少诗人一起写一首诗。如果数字是1或没有输入数字,结果是相同的,即用户输入诗人的姓氏和首字母,函数将其按所需顺序排列,但当它是多个诗人(在本例中为2)时,我希望它询问下一个诗人的姓氏和首字母,因此我使用数组,但由于某些原因,结果仅仅基于第一位诗人的细节,如:Lname(0),Iname(0)和,Javascript 什么';我的循环有什么问题吗,javascript,arrays,while-loop,Javascript,Arrays,While Loop,我是JavaScript新手,我的代码中有一些错误,我找不到!它快把我逼疯了 好的,这就是我想做的,用户选择多少诗人一起写一首诗。如果数字是1或没有输入数字,结果是相同的,即用户输入诗人的姓氏和首字母,函数将其按所需顺序排列,但当它是多个诗人(在本例中为2)时,我希望它询问下一个诗人的姓氏和首字母,因此我使用数组,但由于某些原因,结果仅仅基于第一位诗人的细节,如:Lname(0),Iname(0)和, 它不要求第二个诗人的名字和首字母! 请让我知道我做错了什么 var Initial, Las
它不要求第二个诗人的名字和首字母! 请让我知道我做错了什么
var Initial, LastName, authors;
var num=1;
var Iname = [],Lname = [];
var index = 0;
num=bookForm.txtNumber.value;
num=Number(num);
if (num > 1) {
if (num == 2) {
while (index <= 1){
Iname[index] = bookForm.txtInitial.value;
Lname[index] = bookForm.txtLastName.value;
bookForm.txtInitial.value="";
bookForm.txtLastName.value="";
bookForm.txtInitial.focus();
index = index + 1;
}
authors = Lname[0]+", "+Iname[0]+" & "+Lname[1]+", "+Iname[1]+" "
}
}
else {
Initial = bookForm.txtInitial.value+" "
LastName = bookForm.txtLastName.value+", ";
authors = LastName+Initial;
}
var首字母、姓氏、作者;
var-num=1;
变量Iname=[],Lname=[];
var指数=0;
num=bookForm.txtNumber.value;
num=数字(num);
如果(num>1){
如果(num==2){
当(index看起来时,使用
bookForm.txtInitial.value=“”;
bookForm.txtLastName.value=“”;
当您在循环中第二次传递时,该值为空。关注该元素不会使脚本等待用户输入新值。脚本不能停止并等待用户填写表单字段。您必须从函数返回,并在用户填写表单时使用事件侦听器执行某些操作。@Barmar谢谢你刚刚为我打开了一扇通往全新篇章的大门…与其重复使用同一个输入字段,不如制作一个输入表,这样用户可以一次输入所有输入。是的,这是个更好的主意。谢谢,这在技术上是正确的,但与实际问题无关。好吧,我想我知道你想要这样的东西“等待我在继续循环之前输入值”。就是这样吗?因为方法“focus()不能这样做“只将焦点放在组件上,但不要等待return@ChristofHullaert是的,就像等待用户输入下一个值一样,也许你可以在开始时单击“添加诗人”按钮,而不是选择诗人的数量,每次按下该按钮时,你都会在数组的末尾添加诗人。宾果,太好了。再次感谢