我想从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。
我确定解决方案非常简单。谢谢!
答案 0 :(得分:0)
首先将method =“ post”更改为method =“ get”。通常,Post不允许通过url发送值(但是,您仍然可以使用javascript实现querystring)。对于post,这些值以内容类型指定的格式(主要是application / x-www-form-urlencoded)在请求正文中发送。
将帖子更改为获取后,提交表单时,值将自动附加到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”,值) )
答案 1 :(得分:0)
通常,您应该将注释数据作为post参数而不是querystring参数传递。因此,您的代码应如下所示:
<form action="showarticle.jsp?id=${id_param}" method="post">
<textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
<input type="submit" name ="submit" value="Send">
</form>
然后,从目标页面showarticle.jsp
,您应该可以调用:
<% request.getParameter("comment_text_aria_cur") %>
当然,这将返回上次请求提交到当前页面的值。它可用于处理和/或查看先前提交的注释的值。另一方面,应该不将其用于下一个请求的表单操作字符串格式。
但是,如果您在提交表单时坚持使用某些数据来更改查询字符串,则可以使用javascript执行以下操作:
<html>
<body>
<form name="myForm" onsubmit="submitForm();" action="showarticle.jsp" method="post">
<input type="text" name="id" />
<textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
<input type="submit" name ="submit" value="Send">
</form>
<script>
function submitForm() {
form = document.forms["myForm"];
form.action = form.action+"?id="+form["id"].value+"&comment_ref="+form["comment_text_aria_cur"].value;
return true;
}
</script>
</body>
</html>
这包括: