输入字段" type = number"时发出警报在simplecart中添加项目时为空

时间:2014-08-05 15:46:37

标签: javascript jquery simplecart

我在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>

2 个答案:

答案 0 :(得分:0)

我不知道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; 
}
});

此外,通过<>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(&#39; width&#39;)实际上给你一个整数,你应该解析它们:

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

答案 1 :(得分:0)

试试这个,

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