我可以使用回车键关闭验证对话框但不提交文本框值但是使用enter输入有效值吗?

时间:2013-07-18 18:39:30

标签: javascript html javascript-events

我有一个带有数量文本框的简单表单。我实现了一些最小数量的验证。如果用户输入的数字低于最小数量,他们会得到一个对话框,说明它们处于最小值,我通过文本框中的onchange事件将值设置回min。

如果您使用鼠标,它可以工作。问题是,当您按Enter键关闭该框时,它也会提交表单。我在想,因为在验证之前光标位于文本框中。

我在表格中使用onkeypress事件检查输入按钮,这样你就可以关闭框而不提交表格,但我想我可能想要这个功能有效数量或更高,更少我力每个人都使用提交按钮。当对话框触发时,是否可以将焦点从文本框中移开,这样用户可以按Enter键而不是提交表单但是使用好的值使用回车键?

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" />

1 个答案:

答案 0 :(得分:0)

如果无法看到代码的其余部分,您可以在提交时使用事件监听器,在通过JS手动提交表单之前,在输入值的任何内容中执行e.preventDefault()和sub。