readonly
の利用可能な数量値とユーザーによって入力された数量を持つ表があります。利用可能数量がユーザが入力した数量以上であるかどうかを確認します。ユーザーが入力した値が使用可能な数量を超えている場合は、使用可能な数量未満の値を入力するようにユーザーに指示します。最初に入力された数量値が正しく検証されます。ユーザーが2番目の数量を入力すると問題が発生します。どのように私はこれに取り組むことができますか?私は私のid's
読み取り値とユーザーが入力した値との比較
としてavailableQuantity
とquantity
を使用ここでは、1ページあたり1つのIDを持っていることが私のコードをHTML
<div id="makeOrders">
<table id="myDatatable" class="display datatable">
<thead>
<tr>
<th>Part No</th>
<th>Description</th>
<th>Model No</th>
<th>Available QTY</th>
<th>Tick To Order</th>
<th>Quantity</th>
<!-- <th>Edit</th> -->
</tr>
</thead>
<tbody>
<!-- Iterating over the list sent from Controller -->
<c:forEach var="list" items="${compatibility}">
<tr>
<td>${list.partNumber}</td>
<td>${list.itemDescription}</td>
<td>${list.compitableDevice}</td>
<td><input type="number" id="avaliableQuantity"
name="avaliableQuantity" class="form-control" readonly="readonly"
value="${list.quantity}"></td>
<td><input type="checkbox" class="form-group"
id="checkedOrder" name="selectedItem"
value="${list.partNumber},${list.compitableDevice},${list.itemDescription}"></td>
<td><input type="number" id="quantity" name="quantity"
class="form-control" onblur="compareQuantity()" value="" /></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
この私のJavaScriptコード
<script type="text/javascript">
/*Compare available quantity with entered quantity*/
function compareQuantity() {
var ourAvaliableQuantity = document.getElementById("avaliableQuantity").value;
var yourQuantity = document.getElementById("quantity").value;
if (ourAvaliableQuantity > yourQuantity) {
alert("Your quantity (" +yourQuantity+ ") is less or equal to available quantity (" + ourAvaliableQuantity+ ") order.\n You can now place your order");
console.log("True,",yourQuantity + " is less than " + ourAvaliableQuantity);
console.log("Place an Order");
}else if(ourAvaliableQuantity < yourQuantity) {
alert("Your order quantity (" +yourQuantity+ ") can not be greater than available quantity (" + ourAvaliableQuantity+ "). \n Please enter less quantity");
document.getElementById("quantity").value = "";
console.log("False,",ourAvaliableQuantity + " is small than " + yourQuantity);
console.log("You can not place an order, enter less quantity");
console.log("Enter value between 1 till " +ourAvaliableQuantity+ " not more than " +ourAvaliableQuantity);
}
}
</script>
興味があるだけ、読み取り専用の値を比較するポイントは何ですか?あなたが望むのであれば、ユーザーは読み取り専用の値を編集することができます。 –
'> ='などの文字列を比較していると、あなたが思っているとは限りません。例えば '' 2 ">" 10 "'は真実です – adeneo
@adeneo 'type = "' 'type =" number "'を指定すると、ユーザが文字列を入力するように制限されます。 – King