【问题标题】:default value of textbox not changed after typing different value to it输入不同的值后,文本框的默认值没有改变
【发布时间】:2012-11-27 17:52:53
【问题描述】:

在查询字符串从 上一个网页。

看起来像这样:

<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); 

我看到该值始终保持默认值....即使我在 之前的文本框。

所以我猜问题是在文本框中输入值不能更改默认值 就这样……

解决办法是什么?

谢谢...

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    替换这个

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

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

    这将解决您的问题。

    【讨论】:

      【解决方案2】:

      您可能还想考虑使用 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>
      

      【讨论】:

        猜你喜欢
        • 2019-10-18
        • 2015-09-20
        • 2021-08-11
        • 2013-09-02
        • 2014-06-03
        • 2021-04-07
        • 1970-01-01
        • 1970-01-01
        • 2016-04-25
        相关资源
        最近更新 更多