我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>
个项目,每个项目都有自己的“文本字段”。我想要的是,我的用户会在“textfield”中发表评论,然后我会从hidden
字段中获得相应的评论ID。当用户输入评论时,此评论将存储在数据库中,并使用该“id”显示给用户(在“评论”<div>
中)。我想使用普通<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
项目,因此“帮助”是Controller
,ajax_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开发人员,这就是为什么它变得如此复杂和恶心。请帮帮我。
答案 0 :(得分:1)
检查javascript错误。
可能你的js代码必须在文档就绪函数
中$(document).ready(function() {
};
答案 1 :(得分:0)
$_POST["whatever"];
可能会失败。
改为使用$this->input->post('comment');
和$this->input->post('id');
。
请在下次提供更多信息。