Cakephp 使用Ajax使用Cake PHP附加Textarea

Cakephp 使用Ajax使用Cake PHP附加Textarea,cakephp,Cakephp,快速提问 有没有办法使用Cakephp附加textarea 查看代码: <?php echo $ajax->link( $qnote['Qnote']['subject'], array( 'controller' => 'qnotes', 'action' => 'view', $qnote['Qnote']['id'] ), array( 'update' => 'Textarea_id'

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

查看代码:

<?php echo $ajax->link(   
     $qnote['Qnote']['subject'],
     array(
         'controller' => 'qnotes',
         'action' => 'view', $qnote['Qnote']['id']
 ),
     array( 'update' => 'Textarea_id')
 ); 
?>
上面的代码提取信息,但替换textarea中的整个文本。 有没有一种方法可以只添加textarea而不删除textarea中的现有文本


如果可能的话,请有人给我指一下正确的方向

您可以尝试将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>

函数concat_fields(){
$('Textarea_id').val($('Textarea_id').val().$('Textarea_id_hidden').val());
}

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

Cake的AJAX助手没有内置的“附加”功能。您可能不需要同时删除“update”功能,因为ajax$response对象将被传递给“complete”回调函数,然后您就可以从这里开始执行。无论哪种方式,您都需要在页面上使用JavaScript才能使其正常工作。
<script type="text/javascript">
  function concat_fields() {
    $('#Textarea_id').val( $('#Textarea_id').val() . $('#Textarea_id_hidden').val() );
  }
</script>