在JSP页面中帮助Javascript

时间:2011-09-04 13:51:06

标签: javascript jsp

我有一个JSP,它从DB获取一个名为sum的值...

String sum= request.getAttribute("s").toString();
int s = Integer.parseInt(sum);

我有一个名为weight的形式的字段,其值不能超过总和。

所以在点击提交时我正在运行一个名为validate的函数。这将检查字段是否大于或等于总和,但它一直给我警告。

<script type="text/javascript">
function validate()
{
    var x= document.getElementById("s");
    if(document.getElementById("weight").value>x)
    {
        alert("Weight exceeds maximum limit...!!!");
        return false;
    }
    return true;
}   
</script>

非常感谢帮助......

2 个答案:

答案 0 :(得分:1)

这与JSP无关。在比较之前,您需要使用parseInt()parseFloat()将值解析为数字。这是因为.value属性始终是一个字符串。您还将元素的值与元素进行比较,这是没有意义的。

试试这个:

function validate()
{
    var weight = parseFloat(document.getElementById("weight").value),
        maxWeight = parseInt(document.getElementById("s").value, 10);
    if(weight > maxWeight)
    {
        alert("Weight exceeds maximum limit...!!!");
        return false;
    }
    return true;
} 

答案 1 :(得分:1)

s是一个Java变量,因此您无法通过document引用它。

尝试类似:

var x = <%=Integer.parseInt(sum); %>
if (document.getElem...