2017-04-12 21 views
0
私はこれが順番に コードを大幅に小さくする必要がある入力要素 のIDでモードを交換する必要が
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を渡すにはどうすればよいですか? 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>

関連する問題