我正在尝试让文本框在用户输入数字1时向用户发送消息,例如。然后应该显示一个弹出窗口,说该产品只有5的倍数。
这是我的代码。
<script language="JavaScript">
function chk_boxquantity(inField) {
step3_submit_disable();
var fVal = inField.value;
var fBoxQuantity = 5;
if (mod(fVal, fBoxQuantity) != 5) {
alert('This product is only available in multiples of '+fBoxQuantity);
inField.value = Math.ceil(fVal/fBoxQuantity)*fBoxQuantity;
setTimeout(function() {
inField.focus();inField.select();gAutoBlur = false;
}, 10);
}
step3_submit_enable();
}
</script>
这是文本字段。
<input type="text" onkeypress="return handleEnter(this, event);"
onblur="chk_boxquantity(this);" name="qty[<?php echo $card['id']; ?>]"
size="3" />
因此,只要用户点击,它就会弹出消息。这不行,任何想法为什么不呢?
谢谢,
约拿
答案 0 :(得分:1)
将您的代码从mod()
更改为% operator
DEMO
FROM
if (mod(fVal, fBoxQuantity) != 5)
以强>
if ((fVal % fBoxQuantity) != 0)
完整功能可能如
function chk_boxquantity(inField)
{
var fVal = inField.value;
var fBoxQuantity = 5;
if ((fVal % fBoxQuantity) !== 0)
{
alert('This product is only available in multiples of '+fBoxQuantity);
inField.value = Math.ceil(fVal/fBoxQuantity)*fBoxQuantity ;
}
}
仅显示所需的代码。
答案 1 :(得分:1)
答案 2 :(得分:1)
你想检查mod操作的剩余部分,如果它大于零,则它不能被5整除
// mod
10 % 5 === 0
// div
10 / 5 === 2
因此,您需要将!= 5
更改为!= 0