2010-08-15 100 views
0

所以我有一个正常的形式与1 textarea和两个隐藏的输入,我想通过AJAX张贴到一个CI控制器我已经插入信息到数据库。CI + AJAX,双张贴+刷新页面

我遇到的问题是a)页面操作仍然被调用,并且控制器的输出被显示,b)因为最初的AJAX请求仍然被处理加上额外的动作目标加载信息获取插入两次

这是我的javascript代码:

    $(document).ready(function() { 
        $("#submit-comment").click(function(){ 

         var post_id = <?=$p->id?>; 
         var user_id = <?=$user->id?>; 
         var content = $("textarea#content").val(); 

         if(content == '') { 
          alert('Not filled in content'); 
          return false; 
         } 

         $.ajax({ 
          type: "POST", 
          url: "<?=site_url('controller/comment')?>", 
          data: "post_id="+post_id+"&user_id="+user_id+"&content="+content, 
          success: function(msg){ 
          alert(msg); 
          } 
         }); 
        }); 
       }); 

我曾尝试做

...click(function(e)... ... e.preventDefault

没有运气。

我在做什么错? :P

谢谢

Ps。所有的信息被正确处理和访问,它只是防止形式,它是搞砸了..

回答

0

刚刚意识到我使用的输入类型=“提交”,而不是输入类型=“按钮”。

Doh!