2017-04-12 116 views
0
function ValueLimit(min, max, mode){ 

     var v; 
     if(mode === "h"){ 
      v = document.getElementById("weight_imp").value; 

      if(v < min){document.getElementById("weight_imp").value = min;} 
      if(v > max){document.getElementById("weight_imp").value = max;} 
     } 

     if(mode === "w"){ 
      v = document.getElementById("weight_imp").value; 

      if(v < min){document.getElementById("weight_imp").value = min;} 
      if(v > max){document.getElementById("weight_imp").value = max;} 
     } 
    } 

我需要输入元素 的ID来替换模式这应该反过来使代码显著小 我似乎无法找到一种方法,通过 通过它应该能够针对任何页面上的元素如何将元素ID传递给函数的参数? HTML/JS

+4

我不明白你问。你能更具体吗? –

回答

2

我建议你通过功能的实际元素,而不是一个选择器(其具有不要求每一位input有一个id额外的好处)。您也可以使用Math.minMath.max使实现更短。

function clampValue (e, min, max){ 
 
    e.value = Math.min(max, Math.max(min, +e.value)) 
 
} 
 

 
var input = document.getElementById('weight_imp') 
 

 
function exampleUsage() { 
 
    clampValue(input, 0, 100) 
 
}
<input type="number" id="weight_imp"> 
 
<button onclick="exampleUsage()">Clamp [0, 100]</button>

相关问题