簡體   English   中英

鍵盤功能驗證不起作用

[英]keyup function validation is not working

我嘗試了所有可能性,但沒有得到正確的結果。 它適用於兩位數的值,但應適用於任何給定的值。 這是我的代碼,請檢查並建議我。

 $(document).ready(function () { $("#height").keyup(function(){ var weight=$('#weight').val(); var height=$('#height').val(); if(weight>height){ alert("Height should be greater than Weight"); } }); }); 
 <!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> </body> </html> 

當重量大於身高時,我需要顯示警報。

似乎您正在比較文本值而不是整數值。

在比較之前將它們轉換為整數,它應該可以工作。

var weight=parseInt($('#weight').val());
var height=parseInt($('#height').val());

字符串比較的工作方式不同於整數比較,例如在JavaScript中

"200" > "1999" // true
200 > 1999 // false

這將為您工作。

我已經使用.blur函數來實現此結果。未使用.keyup.keydown函數,因為它將影響用戶的每一個關鍵儲備, blur只會觸發從輸入焦點.keydown

 $(document).ready(function() { $("#height").blur(function() { var weight = $('#weight').val(); var height = $(this).val(); if (weight > height) { alert("Height should be greater than Weight"); } }); }); 
 <!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> </body> </html> 

 $(document).ready(function() { $("#height").blur(function() { compareHtWt(); }); $("#weight").blur(function() { compareHtWt(); }); function compareHtWt(){ var weight = $('#weight').val(); var height = $('#height').val(); if (weight.length>0 && height.length>0 && weight > height) { alert("Height should be greater than Weight"); return false; } } }); 
 <!DOCTYPE html> <html> <head> <title></title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <label>WEIGHT(kg)</label> <input type="number" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label> <input type="number" id="height" name="height" placeholder="height"> </body> </html> 

嘗試這個:

 $(document).ready(function(){ $('#weight, #height').on('keyup', function(){ var weight = $('#weight'); var height = $('#height'); if(weight.val().length > 0 && height.val().length > 0){ if(weight.val() > height.val()){ alert("Height should be greater than Weight"); } } }); }); 
  <label>WEIGHT(kg)</label><input type="text" id="weight" name="weight" placeholder="weight"><br/><br/> <label>HEIGHT(cm)</label><input type="text" id="height" name="height" placeholder="height"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM