-1

我的 Joomla 组件在按钮单击时进行 jquery 调用 (jquery.post) 并将结果填充到 textarea 中。

当我将表单提交到后端时,我想获取文本区域中存在的这些数据。我尝试了 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 调用发送一个变量并取回内容以填充 textarea。
  3. 单击提交时,表单提交。后端php函数需要从textarea中获取最新的内容并保存到db。.

解决方案 JRequest::getVar('txtArea') 有效。我忘记在 HTML 中包含 txtArea 的名称属性。谢谢杰伦!

4

2 回答 2

2

尝试将 textarea HTML 更改为:

<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 内容服务器端,则需要将其添加到您的 ajax POST 中,如下所示:

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 回答