【问题标题】:Javascript Prompt inside loop循环内的 Javascript 提示
【发布时间】:2013-04-15 10:40:08
【问题描述】:
for (var j=0; j<2; j++){
listno=prompt("Enter Item Code","0");
listno = parseInt(listno);

if (listno > 0) {
    PRODUCT_WANT.push(PRODUCT_LIST[listno]);
    WANT_PRICE.push(PRICE_LIST[listno]);
}

else {
alert('Invalid Product Code');
}
if (quantno > 0) {
    quantno=prompt("Enter Quantity","0");
    quantno = parseInt(quantno);
    quantity.push(quantno);
}

else {
alert('Invalid Quantity');
}
}    

循环有效,但我不想设置循环计数,我希望能够将其设置为例如 999,然后能够在提示符下按取消并完成循环

【问题讨论】:

    标签: javascript loops prompt


    【解决方案1】:

    如果按下取消,prompt 将返回 null。

    你可以这样做:

    while(listno = prompt("Enter Item Code", "0")) {
       ...
    }
    

    编辑prompt 的结果将是输入提示中写入的任何内容,或者如果按下取消,则为 null。由于null 在条件中使用时将评估为false,因此您可以在while 循环中使用它,以便在提示评估为真时运行一些代码,即只要输入有效数字就会继续提示。

    Demo

    【讨论】:

    • 能否请您详细说明,我只是一个初学者。对不起
    【解决方案2】:

    你想要的是一个while循环:)

    作为对 Davids 回答的详细说明:while 循环所做的是执行 while 循环的“主体”,直到满足条件。所以首先,你想要有一些可以评估为真或假的条件。如果条件为真,则执行while循环的“主体”,在“主体”中可以更改条件。举个例子

    var i = 0;
    while(i < 20)
    {
        i = i+1;
    }
    

    只要 i 小于 20,上述操作就会运行。

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      相关资源
      最近更新 更多