我有一个带有数量文本框的简单表单。我对最小数量进行了一些验证。如果用户输入低于 min qty 的数字,他们会看到一个对话框,说明它们低于最小值,我通过文本框中的 onchange 事件将值设置回 min。
如果您使用鼠标,它可以工作。问题是当您按回车键关闭框时,它也会提交表单。我在想,因为光标在验证之前就在文本框中。
我使用带有 onkeypress 事件的表单检查来检查输入按钮,以便您可以关闭框而不提交表单,但我想我可能希望此功能用于有效数量或更高数量,更少我强迫每个人使用提交按钮。是否可以在对话框触发时将焦点从文本框移开,以便用户可以按回车键而不提交表单,但随后使用回车键具有良好的价值?
function textQuantDown() {
//Set min qauntity variable
var min_quant = document.getElementById("min_quant");
//set text box value varaible
var elProd_quant = document.getElementById("prod_quant");
var intProd_quant = (isNaN(elProd_quant.value) || elProd_quant.value.length < 1) ? 2 : elProd_quant.value;
if( parseInt(intProd_quant) < parseInt(min_quant.value)){
alert( "Minimum quantity not reached");
elProd_quant.value = min_quant.value;
}else{
elProd_quant.value = intProd_quant;}
return false;
}
<input style="border:1px solid; font-size:14px; text-align:left;width:30px;" onchange="return textQuantDown();" name="add_id[1]" id="prod_quant" size="3" type="text" value="#thisclickquant#" class="popinp" maxlength="3" />