-1

私の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>

これが私が望むワークフローです:

  1. ページが読み込まれると、$recordにテキストエリアに入力するものがあるかどうかがチェックされます。はいの場合、それを行います。そうでない場合は、空白のままにします。
  2. btnクリックは、jquery ajax呼び出しを介して変数を送信し、コンテンツを取得してテキストエリアに入力します。
  3. [送信]をクリックすると、フォームが送信されます。バックエンドのphp関数は、textareaから最新のコンテンツを取得し、それをdbに保存する必要があります。。

ソリューションJRequest::getVar('txtArea')は機能します。txtAreaのname属性をHTMLに含めるのを忘れました。jeroenに感謝します!

4

2 に答える 2

2

textareaHTMLを次のように変更してみてください。

<textarea name="mycontent" style="width:600px;height:70px;" id="txtArea"><?php echo $this->record['recContent']; ?></textarea>

フォーム送信時にこのコンテンツを取得するPHP(フォームがPOSTを使用して送信されたと仮定)は次のようになります。

$content = $_POST["mycontent"];
于 2012-09-07T18:47:39.263 に答える
0

textareaコンテンツサーバー側が必要な場合は、次のようにajaxPOSTに追加する必要があります。

jQuery.post("https://www.domain.com/index.php?option=com_mycomponent&format=raw&task=ajax_get_content", 
            {
                'myvar' : myVar.value,
                'txtarea' :  jQuery("#txtArea").val()
            });

値はで利用可能になります$_POST['txtarea'](PHPの例)

于 2012-09-07T16:20:52.297 に答える