为了账号安全,请及时绑定邮箱和手机立即绑定

document.getElementById 上的 JS 运算符给出了意外的结果

document.getElementById 上的 JS 运算符给出了意外的结果

慕运维8079593 2023-03-03 10:38:39
我使用这个 JS 代码没有任何问题:if(document.getElementById('add_calc_srt_gew').value.length != '' &&   document.getElementById('add_calc_dia_inner').value.length != '' &&    document.getElementById('add_calc_dia_out').value.length != '' &&    document.getElementById('add_breedte').value.length != '') {  // do something }我需要再添加一张支票。什么时候add_calc_dia_out大add_calc_dia_inner所以我将 JS 更改为:if(document.getElementById('add_calc_srt_gew').value.length != '' &&    document.getElementById('add_calc_dia_inner').value.length != '' &&    document.getElementById('add_calc_dia_out').value.length != '' &&    document.getElementById('add_breedte').value.length != '' &&   (document.getElementById('add_calc_dia_out').value > document.getElementById('add_calc_dia_inner').value)) {  // do something }但是应该触发的代码没有触发。也没有显示错误。add_calc_dia_out那么确定更大的正确方法是什么add_calc_dia_inner?
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

这是一个干版本


const num = str => isNaN(str) || str.trim() === "" ? 0 : +str;


const srt_gew = num(document.getElementById('add_calc_srt_gew').value),

    dia_inner = num(document.getElementById('add_calc_dia_inner').value),

      dia_out = num(document.getElementById('add_calc_dia_out').value),

      breedte = num(document.getElementById('add_breedte').value);


if (srt_gew && dia_inner && dia_out && breedte && dia_out > dia_inner) { /* do something */ }



查看完整回答
反对 回复 2023-03-03
?
ibeautiful

TA贡献1993条经验 获得超5个赞

您正在比较字符串中的 2 个数字。它会导致意想不到的行为,如'9''11'。你必须先给parseInt()他们。尝试这个:

... && parseInt(document.getElementById('add_calc_dia_out').value) > parseInt(document.getElementById('add_calc_dia_inner').value)) {

此外,您应该在进行比较之前检查它是否是有效数字:

!Number.isNaN(document.getElementById('add_calc_dia_out').value) && !Number.isNaN(document.getElementById('add_calc_dia_inner').value))



查看完整回答
反对 回复 2023-03-03
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号