接收月

时间:2017-03-11 08:19:34

标签: javascript html validation

我的表单上有一个用户必须填写一个月的文本框,我想出了如何输入数值,但我希望我的文本框能够接收1到12之间的数值。我已经尝试了min ,最大但没有一个工作。

HTML代码:

<input type="text" class="form-control" name="Month" id="Month"onkeypress="return isNumber(event)"maxlength="2"placeholder="MM"required="required">

JavaScript代码:

<script type="text/javascript">
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
    return false; 
}
return true;
}
</script>

2 个答案:

答案 0 :(得分:0)

您应该放弃额外的JS,而是使用<input type="number">min / max属性:

<input type="number" class="form-control" name="Month" id="Month" min="1" max="12" placeholder="MM" required>

答案 1 :(得分:0)

以下是检查月份的简单代码,如果数量超出限制,它将重置并要求再次输入

function checkMonth(textbox){
  if(!(textbox.value > 0 && textbox.value <= 12 )){
    textbox.value = "";
    textbox.focus();
  }
}
<input type="number" id="month" min="1" max="12" onKeyUp="checkMonth(this)">