请教两个问题

请教两个问题

请问如何写可以第一次点击取消的时候不再显示(没有任何提示框)

请问如何写可以输入非数字的时候提示“请正确输入”,并重新弹出输入框

<script>

var price=prompt("请输入商品价格"),count=prompt("请输入商品数量"),total=price*count;

if(price>=500){

   alert("请您支付"+total*0.8+"元");

   }

else if(price>=0&&price<500){

   alert("请您支付"+total+"元");

}

else{alert("请正确输入");}

</script>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

1、声明var的不能集中一起在最上面,因为代码是按照顺序执行的。如果弹框写在一起,那么会先全部弹框完毕再去判断,点击取消按钮无作用。

2、同学是不是没有按照老师的代码进行修改,将var声明集中在一起了,如果按照老师的修改,效果没有问题。

3、如果只是想要一个不是数字的提示,是可以添加的,再嵌套一层判断就可以了。参考:

http://img1.sycdn.imooc.com//climg/5dd673ef09bb4dcf08540748.jpg

完整代码如下:

 <script>
        var price = prompt("请输入商品价格");
        if (price != null) {
            if (isNaN(price)) {
                alert('输入不是数字');
            } else {
                var count = prompt("请输入商品数量");
                if (count != null) {
                    if (isNaN(count)) {
                        alert('输入不是数字');
                    } else {
                        var total = price * count;
                        // if (price >= 500) {
                        if (total >= 500) {
                            alert("请您支付" + total * 0.8 + "元");

                            // } else if (price >= 0 && price < 500) {
                        } else if (total >= 0 && total < 500) {
                            alert("请您支付" + total + "元");
                        } else {
                            alert("请正确输入");
                        }
                    }

                }
            }

        }
    </script>

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 迷失的小麦 提问者 #1
    我还想问问else {alert("请正确输入");}什么情况会触发这个
    2019-11-22 12:50:02
好帮手慕星星 2019-11-21 16:04:00

同学你好,问题解答如下:

1、练习中要求总价满500元时,打八折,所以判断的应该是总价 ,不是商品的价格。参考修改:

http://img1.sycdn.imooc.com//climg/5dd6405d09c86de105620368.jpg

2、点击取消按钮返回值是null,可以判断当返回值不是null的时候,再弹出第二个框。参考:

http://img1.sycdn.imooc.com//climg/5dd644290964f38407210527.jpg

3、输入的是否为非数字,需要使用isNaN()方法进行判断。如果还需要重新弹出输入框,现在不能实现,等下面学习了while循环,结合if判断就可以了。等后面学习了自己可以试着写一写。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 迷失的小麦 #1
    如何结合使用isNaN()方法写代码(输入非数字的时候提示“请正确输入”)?声明var的能不能集中一起在最上面,放在里面好些吗?我感觉我写的else{alert("请正确输入");}没起到作用
    2019-11-21 17:44:25
  • 提问者 迷失的小麦 #2
    我修改代码之后,点击了取消还是继续弹出了第二个对话框是什么原因?怎么修改使得点击取消第二个对话框不弹出
    2019-11-21 17:52:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师