如何在 POST 请求中将文本区域值作为参数发送

How to send textarea value as a parameter in a POST request

我尝试在单击按钮时使用 Post 方法发送文本区域的值。

代码很简单:

<html>
<head>
</head>
<body>

<form action="/editFile" name="confirmationForm" method="post">
<textarea id="confirmationText" class="text" cols="86" rows ="20"     name="confirmationText" form="confirmationForm">
 <out value="#{user.getFileContent}"/>
</textarea>
<input type="submit" value="Email" class="submitButton" id=""/>
</form>

</body>
</html>

为了在完成此请求后获取此数据,我使用的是 CWF Web 框架,方法非常简单:

void editFileController::doPost(CWF::Request &request, CWF::Response    &response) const
{
  QString out = request.getParameter("confirmationText");//this will give me the value of the widget "confirmationText" from HTML
  QString out1 = request.getParameter("confirmationForm");
}

为了获得一个字段的值,这是通过这种方式完成的:

<input type="file" name="test"/>
request.getPatameter("test"); //all works ok

但是对于第一个示例(带有 textarea 的示例),我无法将其设置为在按下按钮时发送 textarea 的值。 谁能给我一些关于如何解决这个问题的想法?该框架只知道为特定的 name 提供 value。因此,我应该以某种方式在按下时将按钮的值设置为文本区域的值。

谢谢。

文本区域需要属于您提交的表单。

因为你有form="confirmationForm",属于id="confirmationForm"的形式,不存在

<textarea> 开始标记中删除 form 属性


您的表单有 name="confirmationForm"。在 1990 年代后期 HTML 4 出现时,name 属性的作用与 HTML 之前的 id 属性相似,id 用于客户端对元素的引用。

二十年后,没有理由为客户端目的赋予元素 name 属性。

(以 controls 形式提供 <textarea> name 属性以提交数据供服务器端使用仍然是正确的)。