首先对不起,我是一个非常大的乞丐,我真的不明白。
我正在构建一个小型的用户,插入就可以了。
我想在插入聊天消息时,插入的消息会向下滑动,而且有点卡住了。
我的jquery
$('#chat_submit').on('click', function(e){
e.preventDefault();
var res = {
'msg' : $('#chat_msg').val(),
}
$.ajax({
type: 'POST',
url: '<?php echo base_url(); ?>main/send_chat',
data: res,
dataType: 'json',
success: function(data, html){
$('#chat_msg').removeAttr('value');
}
});
return false;
});
html和php
<div id="content">
<h2>Chat</h2>
<div id="chatbox">
<?php foreach ($chat as $ch): ?>
<?php
echo '
<div class="chat_post">
<span class="chat_time">'.date('H:i', strtotime($ch->added)).'</span>
<a href="'.base_url().'profile/user/'.$ch->uid.'" class="chat_name">'.$ch->first_name. " " .$ch->last_name.': </a>
<span class="chat_msg">'.$ch->msg.'</span>
</div>
';
?>
<?php endforeach; ?>
</div>
<?php echo form_open(base_url() . "main/send_chat"); ?>
<div id="feed_wrapp">
<input type="text" name="msg" id="chat_msg">
<input type="submit" value="Küldés" class="submit" id="chat_submit">
</div>
<?php echo form_close(); ?>
</div>
我尝试了很多方法,但我完全无能为力,可以请某人指出我错过的东西吗?
在我的控制器中发送聊天功能
function send_chat()
{
$this->load->model('user/chat_model');
if($this->input->is_ajax_request())
{
$this->chat_model->chat_insert();
}
//redirect(base_url());
}
和我的模型中的插入
function chat_insert()
{
$chat = array(
'uid' => $this->session->userdata('uid'),
'msg' => $this->input->post('msg')
);
$this->db->insert('pf_chat_post', $chat);
}
答案 0 :(得分:1)
首先修改CI控制器和模型函数,如下所示
function send_chat()
{
$succeed = false;
$this->load->model('user/chat_model');
if ($this->input->is_ajax_request()) {
$succeeded = $this->chat_model->chat_insert();
}
if ($succeeded) {
echo '<div class="chat_post">
<span class="chat_time">' . date('H:i') . '</span>
<a href="' . base_url() . 'profile/user/' . $this->session->userdata('uid') . '" class="chat_name">' . $this->input->post('first_name') . " " . $this->input->post('last_name') . ': </a>
<span class="chat_msg">' . $this->input->post('msg') . '</span>
</div>';
}
}
function chat_insert()
{
$chat = array(
'uid' => $this->session->userdata('uid'),
'msg' => $this->input->post('msg')
);
$this->db->insert('pf_chat_post', $chat);
return ($this->db->affected_rows() > 0);
}
并在表单中添加两个名为“first_name”和“last_name”的隐藏输入
<input type="hidden" name="first_name" value="database value" />
<input type="hidden" name="last_name" value="database value" />
然后在$ .ajax调用的成功函数中添加以下内容:
$("#chatbox").append(data);