Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSP页面中Javascript的帮助_Javascript_Jsp - Fatal编程技术网

JSP页面中Javascript的帮助

JSP页面中Javascript的帮助,javascript,jsp,Javascript,Jsp,我有一个JSP,它从数据库中获取一个名为sum的值 String sum= request.getAttribute("s").toString(); int s = Integer.parseInt(sum); 我有一个名为weight的字段,其值不能超过和 因此,单击submit,我正在运行一个名为validate的函数。这将检查字段是否大于或等于总和,但它一直在给我警告 <script type="text/javascript"> function validate() {

我有一个JSP,它从数据库中获取一个名为sum的值

String sum= request.getAttribute("s").toString();
int s = Integer.parseInt(sum);
我有一个名为weight的字段,其值不能超过和

因此,单击submit,我正在运行一个名为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>

函数验证()
{
var x=document.getElementById(“s”);
if(document.getElementById(“权重”).value>x)
{
警告(“重量超过最大限制…!!!”);
返回false;
}
返回true;
}   

非常感谢您的帮助。

这与JSP无关。在比较之前,需要使用或将值解析为数字。这是因为
.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;
} 

s
是一个Java变量,因此不能通过
文档
引用它

尝试以下方法:

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

值仍然大于权重页面中是否有ID
s
的HTML元素?它的
值是多少?我没有问ID
weight
的元素,我问的是ID
s
的元素。然后,你需要让它可以被JavaScript访问,就像@medopal的回答一样。Java在服务器上运行r、 JavaScript在浏览器中运行。没有魔法可以让这两个“看到”彼此。只是好奇你是否以正确的方式做事:如果你在浏览器中关闭JavaScript,验证也可以工作吗?(即,你也在服务器端执行完全相同的验证)。如果没有,你需要考虑一些事情:)是的,我也在服务器端进行验证。。。。谢谢:D