function form(id, controller, action, msg) {
$(id).submit(
function() {
$(msg).load(
'index.php?controller=' + controller + '&action=' + action
+ '&inajax=1', $(id).serializeArray());//请问这个写在这里是什么意思?
return false;
});
}
<script type="text/javascript">$('[name=message]').val('');</script> //请问这句是什么意思??
//下面这个代码全部都看不懂
<script type="text/javascript">
var messages = [];
setInterval(function(){
$.getJSON('?controller=default&action=update&inajax=1',function(data){
for(n in data){
if(!messages[data[n].mid]){
messages[data[n].mid] = true;
$('#messagelist').append('<p><span>'+data[n].dateline+'</span><b>'+data[n].nickname+'</b>'+data[n].message+'</p>');
}
}
$('#messagelist')[0].scrollTop = $('#messagelist')[0].scrollHeight;
});
},800);
$('[name=message]').keypress(function(event){
if(event.ctrlKey && (event.keyCode==13||event.keyCode==10))$('#msgform').submit();
});
var onlineusers = function(){
$('#onlinelist').load('?controller=default&action=onlinelist&inajax=1');
};
onlineusers();
setInterval(onlineusers,2500);
</script>
请各位大大帮我看下,我的项目中的代码,看不懂啊,这些代码还是这个项目的核心。。请帮我解释下,顺便推荐些好书给我,不然我一遇到这种东东就不懂。。

------解决方案--------------------
form函数是把 id=XX的表单元素序列化后提交你的控制器里处理,跟submit效果一样。
第二段函数的意思是把name=message的元素的值全部清空
------解决方案--------------------
这些都是 JQuery 代码,可到 学习一下
第一段
$(id).serializeArray()
将id为id的表单的全部可提交控件构造成数组
在作为 load 方法的第二个参数时,是作为 post 参数传递的
第二段
将 name=message 的控件赋值为空串
第三段
设置一些事件绑定
------解决方案--------------------
第一个:提交id的表单,提交参数是id内容的序列化,返回内容在msg里显示
第二个:把 <input name='message' ..../> 的内容置空
第三个:给 <input name='message' ..../> 定义了回车键按下事件,并且定义了两个定时器