在输入字段中,如何排除数字范围
e.g。允许用户放置value < -5
或value > 5
,不允许-4到4之间的任何内容。我不是要求max
或min
值
<input type="number" id="input" step="1" />
由于
答案 0 :(得分:1)
首先将excmin和excmax属性添加到目标元素(在本例中为id =“input”的元素)到您想要的值。
然后调用此函数并在页面加载时将元素传递给此函数:
function exceptionrange(element)
{
var excmin=parseInt(element.getAttribute("excmin"))-1;
var excmax=parseInt(element.getAttribute("excmax"))+1;
element.onchange=function()
{
if(element.value<excmax&&element.value>excmin)
{
element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin;
}
};
}
现在,每当用户输入此范围内的值时,当用户输入数字时,它会将其更改为接近允许值。
这就是脚本的样子:
function exceptionrange(element)
{
var excmin=parseInt(element.getAttribute("excmin"))-1;
var excmax=parseInt(element.getAttribute("excmax"))+1;
element.onchange=function()
{
if(element.value<excmax&&element.value>excmin)
{
element.value=Math.round((parseInt(element.value)-excmin)/(excmin-excmax))*(excmin-excmax)+excmin;
}
};
}
window.addEventListener("load",function()
{
var input=document.getElementById("input");
exceptionrange(input);
});
这是输入元素:
<input type="number" id="input" step="1" excmin="-4" excmax="4"/>