Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在代码点火器中使用AJAX代码_Ajax_Codeigniter - Fatal编程技术网

在代码点火器中使用AJAX代码

在代码点火器中使用AJAX代码,ajax,codeigniter,Ajax,Codeigniter,这是一个巨大的问题,需要你花些时间去阅读。很抱歉,但是,我是一名新的web开发人员,我真的需要帮助,我想这只是一个1-2行的问题,这就是为什么我问你,希望你能在几分钟内解决它。如果不是那么容易,没问题,我准备好处理它 请看以下代码: <?php foreach($array as $value) { ?> <div> <div class="topic" onclick="showDetails()"

这是一个巨大的问题,需要你花些时间去阅读。很抱歉,但是,我是一名新的web开发人员,我真的需要帮助,我想这只是一个1-2行的问题,这就是为什么我问你,希望你能在几分钟内解决它。如果不是那么容易,没问题,我准备好处理它

请看以下代码:

<?php
foreach($array as $value)
       {
?>
           <div>
               <div class="topic" onclick="showDetails()">
                   <h2>Topic</h2>
               </div>
               <div class="details">
                   <div>
                     <input type="text" name="comment" id="comment" onkeypress="showUser()" />
                   </div>
               </div>
           </div>
<?php
       }
?>
我知道它为什么不工作,我不能正确地检测“细节”分区。你能告诉我怎么做吗

这是我的第一个问题。我的第二个问题是:

在“详细信息”分区中,有一个输入框(
)。我希望我的用户能够在那里输入,并将其存储在数据库中后显示。它就像Facebook的评论功能一样,我们在一篇帖子上发表评论,它会在几秒钟内存储并显示给我们,而不会重新加载整个页面
showUser()
就是这样做的。我为
showUser()
函数所做的尝试:

<script>
    $(document).ready(function(){
         $(".details").hide();
    }
    function showDetails()
    {
        $(this).(".details").show();
    }
</script>
<script type="text/javascript">
    function showUser()
    {
        $(this).keypress(function(e){
           if(e.which && e.which==13)
             {
                 $.post("<?php echo base_url();?>help/comment",
                 {
                     q:this.value
                 })
             }
           else
                    {

                    }
        });
    }
</script>
public function comment()
{
    $this->load->model('model');

    $topic=array();
    $topic['user_id']=1;
    $topic['topic_id']=1;
    $topic['comment']=$_POST["q"];

    $this->model->comment($topic);
}
此代码未在数据库中保存用户的注释


谢谢你提出这个大问题

你的问题有点太大了&可能应该分成两个独立的主题

简而言之

1) 要将两个div链接在一起,您需要动态创建单个id。例:

foreach($array as $key=>$value)
然后

这应该让你开始


2) 无法从代码中看出$this->model->comment()在做什么;你只需要做一些基本的调试

我已经专门写了一篇关于调试这类问题的图坦卡门(甚至使用了CI),所以在这里看看如何调试这些问题


你的主意很好,我要试试。并且“$this->model->comment()”将用户给定的注释保存在数据库中。非常感谢你的帮助。什么是“数据id”?我知道我的问题很恶心,读这么大的问题很难。如果我得不到好的答案,我就把问题分成两半。嘿,这不管用。这是代码:这是showDetails()函数:函数showDetails(){var id=$(This).attr('data-id');$(“#details"+id).hide()},所以我认为当我点击一个“主题”时,它对应的“details”应该被隐藏,但这不是在这里发生的@杰马森
<div id="topic_<?= $key ?>"  data-id="<?= $key ?>"
var id = $(this).attr('data-id');
$("#details_"+ id).hide();  // or show()