使用Ajax使用Cake PHP附加Textarea

时间:2011-05-03 22:56:27

标签: cakephp

快速提问 有没有办法使用Cakephp附加textarea

查看代码:

<?php echo $ajax->link(   
     $qnote['Qnote']['subject'],
     array(
         'controller' => 'qnotes',
         'action' => 'view', $qnote['Qnote']['id']
 ),
     array( 'update' => 'Textarea_id')
 ); 
?>

控制器代码:

    function view($id = null) {  
    $this->Qnote->id = $id;
    $this->set('qnote', $this->Qnote->read());

}

上面的代码拉取信息但替换textarea中的整个文本。 有没有办法我可以附加textarea而不删除textarea中的现有文本

如果可能的话,请有人指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

您可以尝试将AJAX请求的结果保存到隐藏字段,然后让它执行并在页面javascript函数上简单地将值从隐藏字段打到可见文本区域。

AJAX帮助器允许你指定回调函数,所以像这样的东西应该可以工作:

<?php echo $ajax->link(   
     $qnote['Qnote']['subject'],
     array(
         'controller' => 'qnotes',
         'action' => 'view', $qnote['Qnote']['id']
 ),
     array( 'update' => 'Textarea_id_hidden', "complete" => "concat_fields()" )
 ); 
?>

然后是视图中的JavaScript

<script type="text/javascript">
  function concat_fields() {
    $('#Textarea_id').val( $('#Textarea_id').val() . $('#Textarea_id_hidden').val() );
  }
</script>

注意:我上面的JavaScript示例假设您使用的是JQuery,如果不是,则需要进行更改。