2015-09-21 86 views
0

值我有这样的HTML代码的输入类型数的最小值设定为其他输入类型号

<form method="post" action="cashier.php" enctype="form-data/multipart">  
    <input required id="amount" type="number" min="0" class="form-control" name="txtamount" placeholder="Enter Payment Here..." /> 
    <input required id="cash" type="number" min="document.getElementById('amount').value" class="form-control" name="txtcash" placeholder="Enter Cash Here..." /> 
    <input type="submit" class="btn btn-primary pull-right" name="btnenroll" value="Done" /> 
</form> 

如果我在ID =“量”键入1000中,ID =“现金”分钟将1000.

但它不起作用。

+0

纯HTML中的'min'属性中不能有动态值。你需要一个JS(也可能是一个库)。 – Pavlo

+1

'min'和'max'属性只能根据类型填充数字或日期。也许你对HTML5约束验证感兴趣http://www.w3.org/TR/2011/WD-html5-20110525/association-of-controls-and-forms.html#constraint-validation –

回答

3

最直接的方法是向支付输入添加onchange处理程序,例如:

<form method="post" action="cashier.php" enctype="form-data/multipart">  
    <input required id="amount" type="number" min="0" class="form-control" name="txtamount" placeholder="Enter Payment Here..." 
     onchange="document.getElementById('cash').min=this.value;"/> 
    <input required id="cash" type="number" min="document.getElementById('amount').value" class="form-control" name="txtcash" placeholder="Enter Cash Here..." /> 
    <input type="submit" class="btn btn-primary pull-right" name="btnenroll" value="Done" /> 
</form> 

这可以让您获得您正在寻找的功能,而无需包含像jQuery这样的第三方库。

+0

谢谢。我把它和你的答案一起工作。 –

1

在这种情况下,你应该使用jQuery的onchange或按键

$("#cash").attr({ 
     "min" : $("#amount").val() 
}); 
0

如果您正在使用jQuery,使用下面,

$("#amount").change(function() { 
    $("#cash").attr('min',$("#amount").val()); 
}); 

参考 - https://api.jquery.com/change/

+0

'keypress'?复制粘贴怎么样? – Pavlo

+0

@Pavlo - 改为更改 – whoami

0

我不认为你可以在JavaScript中放入分钟,并且在另一对双引号中也有一对双引号,这将打破标签(您可以检查元素,然后您会知道)。

因此,当金额元素的价值发生变化时,我们改变现金的最小值。所以我们可以添加一个事件监听器到amount元素。每当它改变时,设置最小值为现金元素。这是一个工作示例代码:

<form method="post" action="cashier.php" enctype="form-data/multipart">  
    <input required id="amount" type="number" class="form-control" name="txtamount" placeholder="Enter Payment Here..." /> 
    <input required id="cash" type="number" class="form-control" name="txtcash" placeholder="Enter Cash Here..." /> 
</form> 

<script> 
    function setMin() { 
     var amount = document.getElementById("amount"); 
     var cash = document.getElementById("cash"); 
     cash.min = amount.value; 
    } 

    var trigger = document.getElementById("amount"); 
    trigger.addEventListener("change", setMin, false); 
</script> 

正如你所看到的,我删除了你的JS在HTML和添加事件监听器。希望这会有所帮助。