2015-09-21 122 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和添加事件監聽器。希望這會有所幫助。