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

而且我看到该值始终保持默认值....即使我之前在文本框中更改了它也不会更改。

所以我想问题是在文本框中输入值不能像那样改变默认值......

解决方案是什么?

谢谢...

4

2 回答 2

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>
于 2012-11-27T18:07:21.043 回答
0

替换这个

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

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

这将解决您的问题。

于 2012-11-27T17:55:51.097 回答