2012-11-27 30 views
0

我在 previos網頁查詢字符串傳遞的值之後爲文本框分配了默認值。輸入不同的值後,文本框的默認值沒有改變

它看起來像:

<form method="post" name="create" onsubmit="return checkPercentValue()" style="font-size: medium; margin-top: 10%" dir="rtl" > 
<input type="text" size="5px" id="stocksPercents" name="stocksPercents" value="@stocks"> 
</form> 

現在,當用戶鍵入另一個值的文本框爲改變默認的, 我呼籲javascript函數在一定範圍內(0 - 100)驗證值。

功能:

<script type="text/javascript"> 
function checkPercentValue() { 

    var value = parseInt(document.getElementById("stocksPercents").getAttribute("value")); 
    if (value > 100 || value < 0) { 
     window.alert("please insert value between 0 - 100"); 
     return false; 
    } 
    else { 
     return true; 
    } 

} 
</script>  

所以我檢查了,爲什麼當我把值,例如:200(大於100),警報不會彈出(!) 我添加到代碼這條線:

document.write(value); 

我看見值八方通停留在預設一個....並不會改變,即使我在 文本之前改變了它。

所以我想這個問題是輸入值到文本框中不能更改默認值 就這樣......

什麼解決辦法嗎?

感謝...

回答

0

替換此

var value = parseInt(document.getElementById("stocksPercents").getAttribute("value")); 

隨着

var value = parseInt(document.getElementById("stocksPercents").value); 

這將解決您的問題。

0

您可能還想考慮使用jQuery。語法更簡單,類型更短,跨瀏覽器兼容(也就是說,您無需擔心此b/c jQuery會爲您保證)。

以下是您在jQuery中的代碼:

<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
     <script type="text/javascript"> 
     function checkPercentValue() { 
      var value = parseInt($("#stocksPercents").val()); 
      if (value > 100 || value < 0) { 
alert('I am GREATER'); 
       window.alert("please insert value between 0 - 100"); 
       return false; 
      } 
      else { 
alert('I am LESS'); 
       return true; 
      } 

     } 
     $(document).ready(function() { 
      $('#stocksPercents').blur(function() { 
       checkPercentValue(); 
//    alert('Yo!'); 
      }); 
     }); 
     </script>  
</head> 
<body> 

<form method="post" name="create" onsubmit="return checkPercentValue()" dir="rtl" > 
    <input type="text" size="5px" id="stocksPercents" name="stocksPercents" value="@stocks"> 
</form> 


</body></html>