1

2天前我问了这个问题,得到1个答案,但我不明白。所以,我问你们是否有更好/更简单的选择。

看看这个代码片段:

<?php
foreach($array as $key=>$value)
       {
?>
           <div>
               <input type="text" name="comment" id="comment" onkeypress="showUser()"/>
               <input type="hidden" name="id" id="id" value="<?php echo $value['comment'];?>"/>
               <div id="comment"></div>
           </div>
<?php
       }
?>

这里有一些<div>项目,每个项目都有自己的“文本字段”。我想要的是,我的用户将在该“文本字段”中给出他们的评论,我将从该hidden字段中获得相应的评论 ID。当用户输入评论时,该评论将存储在数据库中并<div>使用该“id”显示给用户(在“评论”中)。我想用一个普通<form>的让用户“提交”(一个submit按钮)评论。但这很耗时,整个页面都会重新加载。所以,我认为 AJAX 更适合这个东西。它就像“Facebook”的“评论”部分。

这是我的 AJAX 代码:

<script type="text/javascript">
    function showUser()
    {
        $(this).keypress(function(e){
            if(e.which && e.which==13)
              {
                  $.post("<?php echo base_url();?>help/ajax_work_comment",
                  {
                      comment:this.value,
                      id:$(this).next('#id').attr('value');
                  })
              }
            else
              {}
        });
    }
</script>

请记住,这是一个Code Igniter项目,因此“帮助”是其中Controllerajax_work_comment一个功能Controller。这是ajax_work_comment()功能:

public function ajax_work_comment()
{
    $comment=$_POST["comment"];
    $id=$_POST["id"];
    $this->load->model('help/model');

    $this->model->ajax_work_comment($comment,$id);
    echo $comment;
}

我知道它非常复杂。实际上,我是一个新的 Web 开发人员,这就是为什么它变得如此复杂和令人作呕。请帮我。

4

2 回答 2

1

检查 javascript 错误。

可能您的 js 代码必须在文档就绪功能中

$(document).ready(function() {
};

也看看http://learn.jquery.com/code-organization/concepts/

于 2013-05-19T21:09:38.120 回答
0

$_POST["whatever"]; will probably fail.

Use $this->input->post('comment'); and $this->input->post('id'); instead.

And please provide more info next time.

于 2013-05-17T15:51:20.450 回答