Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证范围输入不重叠_Javascript_Html - Fatal编程技术网

Javascript 验证范围输入不重叠

Javascript 验证范围输入不重叠,javascript,html,Javascript,Html,我试图验证过滤年龄的两个范围输入不会相互重叠。我找不到一种方法来让它正常运行,而不让滑块行为不稳定,从0跳到50,诸如此类 我尝试过不同的方法(纯JS),结果相似: if(input1.value >= input2.value || input2.value <= input1.value){ input1.value = toString(input2.value - 1); input2.value = toString(input1.value + 1); }

我试图验证过滤年龄的两个范围输入不会相互重叠。我找不到一种方法来让它正常运行,而不让滑块行为不稳定,从0跳到50,诸如此类

我尝试过不同的方法(纯JS),结果相似:

if(input1.value >= input2.value || input2.value <= input1.value){
    input1.value = toString(input2.value - 1);
    input2.value = toString(input1.value + 1);
}

if(input1.value>=input2.value | | input2.value无法在您的小提琴中重现您的问题,但我已经在您的代码中看到两个问题:

  • 如果
    input1.value
    “50”
    ,那么
    input1.value+1
    将是
    “501”
  • 应在数字上调用
    toString()
    50.toString()
因此,您的代码应该如下所示:

var minEdad = Number(input1.value),
    maxEdad = Number(input2.value);
if(minEdad >= maxEdad) {
    // Decide here what to do, for example
    input1.value = (maxEdad - 1).toString();
}

这就是函数现在的样子:

function filtroEdad(input1, input2) {
var edadMin = Number(input1.value);
var edadMax = Number(input2.value);

if(edadMin >= edadMax){
    input1.value = (edadMax - 1).toString();
}

if(edadMax <= edadMin){
    input2.value = (edadMin + 1).toString();
}
函数filteroedad(input1,input2){
var edadMin=编号(输入1.值);
var edadMax=编号(输入2.值);
如果(edadMin>=edadMax){
input1.value=(edadMax-1).toString();
}

如果(edadMax但如果我想让即将重叠的滑块向上或向下推动另一个滑块,该怎么办?另一方面,当我触摸滑块时,滑块会直接跳到50it@MartínScola:然后你需要在两个滑块上分别处理
onchange
。请注意,这种跳转到50的情况不会发生在我身上。我使用的是Chrome。我是同样使用Chrome。我唯一的问题是输入1。另一个很好用。问题似乎是从8上升到9或从9下降到8。两次滑块都重置为50,这甚至不是滑块开始时的默认值。没关系,滑块有问题。你的答案修复了这件事太离谱了!