首页 > 解决方案 > 如何从 textarea 获取文本并将其作为 URL 的参数发送

问题描述

我想从 textarea 获取文本并将其作为表单操作中的参数发送。

所以,我有页面 showarticle.jsp 显示所有文章的评论。首先,我在 index.jsp 上调用它,参数为 comment_ref=null(这意味着我不想第一次添加评论)

<a href="showarticle.jsp?id=${row.id}&comment_ref=null">${row.title}</a>

在 showarticle.jsp 我有一个添加新评论的表格

<form action="showarticle.jsp?id=${id_param}&comment_ref=${comment_text_aria_cur}" method="post">
  <textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
  <input type="submit" name ="submit" value="Send">
</form>

在这里我再次调用showarticle.jsp,但在这里我想从文本区域添加文本作为参数comment_ref。

我试过了

<form action="showarticle.jsp?id=${id_param}&comment_ref="<%=request.getParameter("comment_text_aria_cur") method="post">

但仍然无法正常工作。在这种情况下,我只能看到以前的值。例如,

我写评论“aaa”并按提交-> comment_ref = null。我写评论“bbb”并按提交->comment_ref = aaa。

我确定解决方案非常简单。谢谢!

标签: javahtmljsp

解决方案


首先将 method="post" 更改为 method="get"。通常,Post 不允许通过 url 发送值(但是,您仍然可以使用 javascript 实现查询字符串)。对于 post,值在请求正文中以内容类型指定的格式发送(主要是 application/x-www-form-urlencoded)。

一旦您将 post 更改为 get,当您提交表单时,这些值会自动附加到 url。您无需显式附加它。

request.getParameter 用于获取表单参数的值,即从 url 请求中获取参数值。您不能使用它来附加值。

这是一种简单的方法。

<form action="showarticle.jsp" method="GET">
     <textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
     <input type="hidden" name ="id" value="<%= request.getParameter("id_param")%>">
     <input type="submit" name ="submit" value="Send">
</form>

确保您正在设置 id_param (request.setAttribute("id_param", value) )


推荐阅读