xjxxxxx_ 2024-08-17 17:41 采纳率: 0%
浏览 1

javaSript大于判断问题

javaSript判断出错

<form action="client/bookServlet" method="get">
                    <input type="hidden" name="action" value="pageByPrice">
                    价格:<input id="min" type="text" name="min" value="${ param.min }"> 元 -
                        <input id="max" type="text" name="max" value="${ param.max }"> 元
                        <input id="sub_price" type="submit" value="查询" />
                    <script type="text/javascript">
                        $(function (){
                            $("#sub_price").click(function (){
                                var max = $("#max").val();
                                var min = $("#min").val();
                                if (min <0 ){
                                    alert("最低价格不能小于0")
                                    return false;
                                }
                                if (min>max){
                                    alert( "min="+min);
                                    alert( "max="+max);
                                    alert( min>max );
                                    alert("最小价格不能大于最大价格");
                                    return false;
                                }

                            })
                        })
                    </script>
                </form>

这里min输入78,max输入100为什么 min>max判断为true啊

img

img

img

实在是没搞明白

  • 写回答

2条回答 默认 最新

  • 一直免费一直爽 2024-08-17 17:42
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    问题出在minmax的值是字符串类型,而不是数字类型。在比较字符串时,会按照字符的Unicode编码进行比较,而不是按照数值大小进行比较。所以,当min为"78",max为"100"时,"78" > "100"的判断结果为true。

    为了解决这个问题,你需要将minmax的值转换为数字类型再进行比较。可以使用parseInt()parseFloat()函数进行转换。修改后的代码如下:

    <script type="text/javascript">
        $(function (){
            $("#sub_price").click(function (){
                var max = parseInt($("#max").val());
                var min = parseInt($("#min").val());
                if (min <0 ){
                    alert("最低价格不能小于0")
                    return false;
                }
                if (min>max){
                    alert( "min="+min);
                    alert( "max="+max);
                    alert( min>max );
                    alert("最小价格不能大于最大价格");
                    return false;
                }
    
            })
        })
    </script>
    

    现在,当min为"78",max为"100"时,78 > 100的判断结果将为false。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月17日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见