如何在 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
属性以提交数据供服务器端使用仍然是正确的)。
我尝试在单击按钮时使用 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
属性以提交数据供服务器端使用仍然是正确的)。