我想使用Codeigniter和AJAX更新我的数据以提交回复..
这是我的观点
<form id="form_update" action="<?php echo base_url() ?>admin/update_derap_info" method="POST" role="form">
<textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" >
</textarea>
<input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan">
</form>
我的控制器
$data = array
(
'isi'=> ltrim(rtrim($this->input->post('isi')))
);
$this->info_derap->update($this->input->post('id_info'),$data);
echo'<div class="alert alert-success">Terimakasih, pesan anda sudah kami terima. Pemberitahuan selanjutnya kami beritahunak lewat email.</div>';
exit;
我的模特
function update($id,$data){
$this->db->where($this->id, $id);
$this->db->update($this->table, $data);
}
这是我的AJAX
<script type="text/javascript">
$("#form_update").submit(function (e){
e.preventDefault();
$("#loader").show();
var url = $(this).attr('action');
var data = $(this).serialize();
$.ajax({
url:url,
type:'POST',
data:$("#form_update").serialize(),
}).done(function (data){
$("#response").html(data);
$("#loader").hide();
fillgrid();
});
});
</script>
如果我按下提交2次,我可以更新我的数据,但是当我提交一次时,它无法更新。
出了什么问题?
答案 0 :(得分:1)
您无法使用表单进行更新。使用此
<form action="" method="" role="form">
<textarea cols="80" id="editor1" name="isi" rows="10" class="form-control" ></textarea>
<input type="submit" value="Simpan" class="btn btn-sm btn-primary" name="update_info_pemesanan" id="form_update">
</form>
在AJAX中
<script type="text/javascript">
$(function(){
$("#form_update").click(function(event){
event.preventDefault();
$("#loader").show();
var editor1= $("#editor1").val();
$.ajax(
{
type:'post',
url:"<?php echo base_url() ?>admin/update_derap_info",
data:{editor1:editor1},
success:function($data)
{
$("#response").html(data);
$("#loader").hide();
fillgrid();
}
});
});
});
</script>
控制器中的
$text_area = $this->input->post('editor1')
所以在$text_area
中包含您在表单中输入的文字
答案 1 :(得分:0)
您应该在控制器上使用以下代码:
$this->info_derap->update($this->input->post('id_info'),$data);
另外,请确保在相应的视图中有一个名为id_info
的字段。
答案 2 :(得分:0)
如果您使用调试消息,您可以检查请求...
您可以插入或添加一些javascript函数“espace”您的请求表单,例如
escape($("editor1").val());