Javascript 如何在接受浮点值的输入类型上设置最小值和最大值?

Javascript 如何在接受浮点值的输入类型上设置最小值和最大值?,javascript,html,jquery,frontend,Javascript,Html,Jquery,Frontend,有很多例子展示了如何用整数设置最小值和最大值。我需要确保值的范围甚至可以是浮动的。下面是我如何为输入类型退款金额设置属性值和最大值。这里的问题是,可以输入一个高于Jquery设置的最大值的值 window.onload = function() { var src = document.getElementById("grand_total"); var dst = document.getElementById("refund_amount&quo

有很多例子展示了如何用整数设置最小值和最大值。我需要确保值的范围甚至可以是浮动的。下面是我如何为输入类型
退款金额
设置属性值和最大值。这里的问题是,可以输入一个高于Jquery设置的最大值的值

window.onload = function() {
    var src = document.getElementById("grand_total");
    var dst = document.getElementById("refund_amount");
    if (dst != "") {
        dst.setAttribute("value", src.textContent);
        dst.setAttribute("max", src.textContent);       
    }
};
HTML:


输入退款金额

我如何确保它永远不允许比max属性保持的值更高?

最小值
和最大值
max
属性仅对
type=“number”
输入起作用。还值得注意的是,它们作为验证手段并不可靠,因为它们不会阻止用户键入超出
min
/
max
设置范围的数字

要解决此问题,您可以使用
change
事件和
Math.min()
Math.max()
函数手动验证值并将其更正为在范围内。试试这个:

window.addEventListener('load',function(){
var src=document.getElementById(“总计”);
var dst=document.getElementById(“退款金额”);
中频(dst){
dst.value=dst.max=src.textContent;
}
});
document.querySelectorAll('input[type=“number”]”)。forEach(input=>{
input.addEventListener('change',e=>{
设el=e.target;
el.value=Math.min(Math.max(el.value,el.min),el.max);
});
});

总计
25.68
输入退款金额

使其
min
max
仅适用于
type=“number”
输入-即使如此,它们作为验证手段也不可靠。例如,它们不会阻止用户输入大于
max
允许的数字。如果您需要验证某个范围内的值,则需要手动执行。@RoryMcCrossan,请您分享一个演示如何手动执行的示例?一个演示如何比较值的示例-
If(src.value>99)
@freedomn-m,谢谢,要实现您的解决方案,我应该有一个事件处理程序。对的
<tr>
  <td align="right" colspan="3">Enter Refund Amount</td>
  <td align="left" colspan="4"><input type="text" size="11" id="refund_amount" 
                 name="refund_amount" value='' min="" max="" required/></td>
</tr>