私のJoomlaコンポーネントは、ボタンをクリックするとjquery呼び出し(jquery.post)を行い、結果をテキストエリアに入力します。
フォームをバックエンドに送信するときに、テキストエリア内に存在するこのデータをフェッチしたいと思います。JRequest :: getVarを試しましたが、必要なコンテンツが返されません。$_GETも$_POSTもしません。私はオンラインで解決策を探してみましたが、どれも成功していません。
誰か助けてもらえますか?
コードは次のとおりです。
ajax呼び出しを介してコンテンツをフェッチする
jQuery( "#btnGetContent" ).click(function(){
jQuery("#txtArea").text("");
var myVar = document.getElementById('var1');
jQuery.post("https://www.domain.com/index.php?option=com_mycomponent&format=raw&task=ajax_get_content",
{'myvar' : myVar.value,
},
(function(result) { jQuery("#txtArea").val(result); }),
"html"
);
return false;
});
バックエンド-#txtAreaコンテンツをフェッチしてみてください
...?
よろしく、アビ
編集1
txtareaのHTMLコード:
<textarea style="width:600px;height:70px;" id="txtArea"><?php echo $this->record['recContent']; ?></textarea>
これが私が望むワークフローです:
- ページが読み込まれると、$recordにテキストエリアに入力するものがあるかどうかがチェックされます。はいの場合、それを行います。そうでない場合は、空白のままにします。
- btnクリックは、jquery ajax呼び出しを介して変数を送信し、コンテンツを取得してテキストエリアに入力します。
- [送信]をクリックすると、フォームが送信されます。バックエンドのphp関数は、textareaから最新のコンテンツを取得し、それをdbに保存する必要があります。。
ソリューションJRequest::getVar('txtArea')は機能します。txtAreaのname属性をHTMLに含めるのを忘れました。jeroenに感謝します!