在php中获取textarea值(由ajax调用填充)

时间:2012-09-07 16:11:52

标签: php jquery ajax joomla

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

当我将表单提交到后端时,我想获取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内容

...

此致 ABHI

编辑1

txtarea的HTML代码:

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

以下是我想要的工作流程:

  1. 当页面加载时,它会检查$ record是否有填充textarea的内容。如果是,那就去做吧。如果没有,请将其留空。
  2. btn click将通过jquery ajax调用发送变量并返回内容以填充textarea。
  3. 点击提交时,表单会提交。后端php函数需要从textarea获取最新内容并将其保存到db。
  4. 解 JRequest :: getVar('txtArea')有效。我忘了在HTML中包含txtArea的name属性。谢谢jeroen!

2 个答案:

答案 0 :(得分:1)

尝试将textarea HTML更改为:

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

在表单提交时检索此内容的PHP(假设表单是使用POST提交的)将是:

$content = $_POST["mycontent"];

答案 1 :(得分: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中的示例)

中提供