2017-10-09 59 views
0
<!DOCTYPE html> 
<html> 
<body>  
<div id="text" class="CommentBox"> 
    Some text : 
    <input type="text" /> 
</div> 
<script> 
$(document).ready(function() { 
    jQuery("#text").on("change", function() { 
     var x = $('#text').value; 
     if (isNaN(x)) 
     { 
      window.alert("You have entered not a number"); 
      return false; 
     }); 
    });   
}); 
</script>  
</body> 
</html> 

我想寫的JavaScript代碼來檢查給定的值是否number.If不是我想給錯誤信息?如果是數字我想檢查它是否是整數和0之間和100如何檢查文本框的值是不是數字?

+0

變種X = $( '#文本')。VAL()? – tan

+0

檢查它是否在0到100之間:'if(x> 0 && x <100)' – Walk

回答

0
function numberOrNot(var input) 
{ 
    try 
    { 
     Integer.parseInt(input); 
    } 
    catch(NumberFormatException ex) 
    { 
     return false; 
    } 
    return true; 
} 

如果你的輸入數量,這將返回true,否則將返回false

+0

這是JS的問題。請提供在JavaScript中有意義的答案。輸入的第一個值是字符串 - 總是。含義OP需要使用parseInt(x)來獲取整數值,然後使用isNaN()來檢查值是否確實是數字。這是公約。 –

1

基本上你需要轉換成Int之前與NaN比較這意味着是這樣的:

var x = $('#text').value; 
if (isNaN(parseInt(x))) { 
    // Not a decimal number. 
} 
0

試試這個代碼

你進入直接inputon change或寫idinput,並把它傳遞給javascript

$(document).ready(function() { 
 
    jQuery("input").on("change", function() { 
 
    var x = $('#text').val(); 
 
    if (isNaN(x)) { 
 
     window.alert("You have entered not a number"); 
 
     return false; 
 
    } 
 
    else{ 
 
     if(x>=0 && x<=100) 
 
     { 
 
     window.alert("You have enter write number"); 
 
     }else{ 
 
     window.alert("You enter number between 0 to 100"); 
 
     } 
 
    } 
 

 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="CommentBox"> 
 
    Some text : 
 
    <input type="text" id="text" /> 
 
</div>

+0

以及如果頁面上有很多文本框會怎麼樣? – kindaquestion

+0

所以你可以使用'id'作爲 – Bhargav

1

有在你的代碼有很多語法錯誤。

您的選擇器會檢查您的div,而不是您的輸入,這意味着它永遠不會觸發代碼。
當使用jQuery選擇器而不是.value時,應該使用.val()來獲取元素的值。
您還可以使用事件處理程序中的this關鍵字來獲取引用的元素。
除此之外,代碼中還存在一些錯位)}

下面我已經包含了您的代碼的工作示例。

$(document).ready(function() { 
 
    jQuery("#text > input").on("change", function() { 
 
    var x = $(this).val(); 
 
    if (isNaN(x)) { 
 
     window.alert("You have entered not a number"); 
 
     return false; 
 
    } else if (x > 0 && x < 100) { 
 
     alert("number in between 0 and 100"); 
 
    } 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="text" class="CommentBox"> 
 
    Some text : 
 
    <input type="text" /> 
 
</div>

相關問題