2015-06-12 50 views
-2

我有两个输入数字(最小和最大)。有没有办法阻止用户插入像min> max这样的值?防止输入类型的最大>最大值=数字

<input type="number" class="inputMin" placeholder="Min."> 

<input type="number" class="inputMax" placeholder="Max."> 
+0

告诉你试过代码。 – SHAZ

+0

@Burki完全没有必要。如果我不分享任何代码,那意味着我没有找到任何其他东西,否则我不会在这里问。 – brunodd

+0

是吗?好。你可能想看看帮助会话。你问你的问题的方式将是一个关闭它的理由。我试图用一种不那么激进的方式来指出这一点,但是,最后它取决于你。 – Burki

回答

0

有很多不同的方法可以做到这一点。

一种选择是每当分钟发生变化时,如果它是大于max,它更改为等于最大值,像这样:

$('.inputMin').on('change', function() { 
    var max = parseFloat($('.inputMax').val());          
    var min = parseFloat($('.inputMin').val()); 
    if (min > max) { 
     $('.inputMin').val(max); 
    } 
}); 

或相反的情况下,当你改变最大:

$('.inputMax').on('change', function() { 
    var max = parseFloat($('.inputMax').val());          
    var min = parseFloat($('.inputMin').val()); 
    if (min > max) { 
     $('.inputMin').val(max); 
    } 
}); 

另一种选择是在提交表单时显示错误,或者在用户更改输入时动态显示错误。

有一些JavaScript库,可以让你很容易地进行动态验证。请查看Angular.js,以及如何将其用于form validation

+0

谢谢队友。我尝试过,但似乎没有工作:http://jsfiddle.net/brunodd/78vxko4u/ – brunodd

+0

忘了包含'parseFloat'。刚更新了答案。 –

+0

谢谢!这工作。 – brunodd

0

您可以使用参数minmax,如:

<form> 
    Quantity (between 1 and 5): 
    <input type="number" name="quantity" min="1" max="5"> 
</form> 

编号:http://www.w3schools.com/html/html_form_input_types.asp(输入类型:数)

您也可以使用JavaScript来检查值>= min_number<= max_number,但都是客户端脚本,可以通过编辑html部分来实现。

您还需要一个服务器端检查,以确保它在该范围内。

1

没有JQuery的,你可以试试这个:

(你必须改变classid

var min = document.getElementById("inputMin"); 
var max = document.getElementById("inputMax"); 

function check() { 
    if (min.value > max.value) { 
     min.value = max.value; 
    } 
}; 

min.addEventListener("input", check, false); 
max.addEventListener("input", check, false); 

,您可以尝试there

相关问题