从多个动态创建的HTML textarea元素发布

时间:2015-09-23 21:55:18

标签: javascript jquery html servlets post

给出以下代码段:

 out.println("<form action=" + "./post" + " " + "method=" + "post" + " " + "id=" + "tweetForm" + ">");
        for (int i = 1; i <= twParser.currentTweetIndex; i++) {
            output = twParser.tweetArray[i] + newLine;
            out.println("<p>");
            out.println("<textarea" + " " + "name=text" + " " + "id=\"styled\"" + " " + "maxlength=140" + " " + "cols=" + "140" + " " + "rows=" + "1" + " " + "tag=" + "text_" + String.valueOf(i) + " " + "form=" + "tweetForm" + " " + "onfocus=\"setbg('#e5fff3');\" onblur=\"setbg('white')\"" + ">" + output + "</textarea>");
            out.println("<span class=label-style-countdown" + " " + "id=" + "chars" + String.valueOf(i) + ">" + String.valueOf(140 - twParser.tweetArray[i].length()) + "</span> characters remaining");
        out.println("<p>");
        }
        out.println("<input type=" + "submit" + " " + "name=" + "post" + " " + "value=" + "post" + " " + "style=\"float: left;\"" + "/>");
        out.println("<button type=\"reset\" value=\"Reset\">Reset</button>" 

...创建HTML多个textarea元素并将它们发布到servlet。但由于所有textareas都具有相同的名称,因此只发布第一个textarea的内容。

有没有办法发布所有内容? 感谢

2 个答案:

答案 0 :(得分:3)

要使用同名的多个输入,您可以使用名称数组,如

<textarea name="text[]">You text here</textarea>

将发布与数组具有相同名称的所有值。

PS:这可以通过任何预期单选按钮的输入类型来完成

答案 1 :(得分:1)

在这一行:

out.println("<textarea" + " " + "name=text" + " " ...

将i附加到textarea的名称,以使名称增加为text1text2等。

out.println("<textarea" + " " + "name=text" + i.toString() + " " ...

当收到要从每个文本区域接收的POST请求时,在服务器上执行相同的循环。