【问题标题】:Alert when input field "type=number" is empty, when adding items in simplecart在 simplecart 中添加项目时,输入字段“type=number”为空时发出警报
【发布时间】:2014-08-05 15:46:37
【问题描述】:

我试图在 simplecart 中的项目上添加错误参数时收到警报。 当该字段为空或低于 400 或高于 500 时。

一切正常,但当字段为空时不会发出警报。

HTML:

<input required max="500" min="400" type="number"  class="item_width">

JavaScript:

<script>
simpleCart.bind( 'beforeAdd' , function( item ){
if( item.get( 'width' ) < '400' 
|| item.get( 'width' ) > '500' 
|| item.get( 'width' ) === 'null')
{ 
alert("Choose between 400 and 500");
return false; 
}
});
</script>

【问题讨论】:

  • 您应该设置一个var item_width = item.get('width'); 以在您的if 语句中使用,而不是在每次比较时重复item.get('width')

标签: javascript jquery simplecart


【解决方案1】:

我不知道simplecart是怎么处理空字符串的,但是你写了'null',也就是说输入的文本需要是"null",一个字符串,而不是对象null。另外,空字符串不为空,它是一个空字符串,所以试试:

simpleCart.bind( 'beforeAdd' , function( item ){
if ( item.get( 'width' ) < '400' 
|| item.get( 'width' ) > '500'
|| item.get( 'width' ) == null
|| item.get( 'width' ) === '')
{ 
alert("Choose between 400 and 500");
return false; 
}
});

此外,通过&lt;&gt;string 测试整数并不是好的编程。它可能有效,但请正确编码:

simpleCart.bind( 'beforeAdd' , function( item ){
if ( item.get( 'width' ) < 400
|| item.get( 'width' ) > 500
|| item.get( 'width' ) == null
|| item.get( 'width' ) === '')
{ 
alert("Choose between 400 and 500");
return false; 
}
});

为了确保 item.get( 'width' ) 实际上给你一个整数,你应该解析它们:

...
parseInt( item.get('width') ) < ...
...

【讨论】:

    【解决方案2】:

    试试这个,

     if( item.get( 'width' ) < '400' || item.get( 'width' ) > '500' || item.get( 'width' ) === 'null' || item.get( 'width' ) === '')
      {   alert("Choose between 400 and 500");   }
    

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 1970-01-01
      • 2014-07-15
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      相关资源
      最近更新 更多