ボタンがクリックされたときにPostメソッドを使用してtextareaの値を送信しようとしています。
コードは非常に単純です。
<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の値を送信するように設定できません。誰かが私がこれを修正する方法について私にいくつかのアイデアを与えることができますか?このフレームワークは、特定の名前の値を私に与えることだけを知っています。だから、どういうわけか、これが押されたときのテキストエリアの値でボタンの値を設定する必要があります。
ありがとうございました。
textareaは、送信するフォームに属している必要があります。
持っているのでform="confirmationForm"
、id="confirmationForm"
存在しない形に属しています。
開始タグform
から属性を削除します<textarea>
。
フォームにはがありname="confirmationForm"
ます。name属性は、1990年代後半にHTML 4がリリースされたときに、要素へのクライアント側の参照用id
にHTMLが標準化さid
れる前の属性と同様の目的を果たしました。
20年後、name
クライアント側の目的で要素に属性を与える理由はありません。
(サーバー側で使用するためにデータを送信する目的で、属性などのフォームコントロールを指定する<textarea>
name
ことは引き続き正しいです)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加