您的位置:首页 > Web前端 > JavaScript

javascript 向servlet传递数组数据

2017-12-01 12:18 155 查看
最近在进行练习,碰到主要问题有两个:1.我想传递数组数据时怎么传递;2.明明用的是post,为什么老是跳转到doget().

然后在网上疯狂看各路大神秀骚操作。后面懂了之后,自己写了一篇,以此自励。

下面代码为用javascript使用form传递数据,已亲测。servlet代码就不填了。

<html>
<head>
    <meta charset="UTF-8">
    <title>page a</title>
    <script type = "text/javascript">
            var ar = new Array("a","b","c");
            function submitArray(){
                var form1 = document.createElement("form");
                form1.id = "form1";
                form1.name = "form1";
                document.body.appendChild(form1);
                var input = document.createElement("input");
                input.name = "arr";
                input.type = "text";
                input.value = ar.length;
                form1.appendChild(input);
                //下面为提交数组数据 
                for(var i = 0;i<ar.length;i++){
                    var input = document.createElement("input");
                    alert(ar);
                    input.name = "arr"+i;   //为了与其他name区分,个人习惯一物一名字
                    input.type = "text";
                    input.value = ar[i];
                    form1.appendChild(input);
                }
                form1.method = "post";
                form1.action = "servlet/requestservlet";   //此处可能会出现问题。当把div换成button时,此处填写为form1.action = "requestservlet";暂不清楚此处原因。
                form1.submit();
            }
    </script>
</head>
<body>
    <div style = "width:100px;height:100px;background-color:yellow;" onclick = "submitArray()">a</div>
</body>

</html>

关于第二个问题:个人觉得一定是form.method = "post"填写错误;在javascript 中一旦错误就不执行,故此跳转到doget();

当写了form但没有添加button或submit时,用document.getElementById("form的id").submit();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet javascript form