我正在使用CakePHP 3.1和jQuery Ajax。
以下是我的表单代码:
echo $this->Form->textarea('comment',array('class'=>'ckeditor','id'=>'comment1'));
echo $this->Form->button('Send',array('id'=>'save'));
我的ajax代码:
<script type="text/javascript">
$( document ).ready(function() {
$("#save").click(function () {
var str = $( "#comment1" ).val();
$.ajax({
method: "POST",
url: "<?php echo Router::url(array('controller'=>'users','action'=>'view'));?>" ,
data : {comment:str},
success: function (data)
{
alert(data);
}
});
});
});
</script>
我的相应行动是,
public function view($id = null) {
if($this->request->is('ajax')){
$this->layout = 'ajax';
$this->render('ajax');
$na=$_POST['comment'];
echo $na;
}
}
我不知道问题是什么。它没有调用相应的操作。
答案 0 :(得分:1)
我相信我的问题是,我使用了CKEditor。因此,要获得CKEditor textarea的值,我们需要使用以下代码:
echo $this->Form->textarea('comment',array('class'=>'ckeditor','id'=>'editor1'));
echo $this->Form->button('Send',array('id'=>'save'));
我们需要使用
而不是var str = $( "#comment1" ).val();
var value = CKEDITOR.instances['editor1'].getData();