来源:www.cncfan.com | 2006-1-11 | (有1957人读过)
这里是聊天室的指挥中心,所有的指令都要在这里发出
1下面是基本的发送表单代码
<form name=inputform action='messagesend.php' target='bl' onsubmit='re turn(checksay());' method=POST>
<? //下面的2个参数用于验证信息的正确性 print("<input type='hidden' name='name' value='$name'>\n"); print("<input type='hidden' name='pass' value='$pass'>\n"); ?>
//聊天对象,注意加上 readonly 属性 <input type="text" name="talkto" size="10" maxlength="20" readonly val ue="所有人">
//上次聊天的发送内容 <input type='hidden' name='message' value=''>
//发送的表单文本框 <input type="text" name="msg" maxlength="120" size="34">
<input type="submit" name="Submit" value="发送">
</form>
2 检查发送内容的js
var dx =''; function checksay( ) {
//不允许发送空的发言 if(document.inputform.msg.value=='') { document.inputform.msg.focus(); return false; }
//不允许重复发言,内容相同,对象相同 if ((document.inputform.msg.value==document.inputform.message.value)&& (document.inputform.talkto.value==dx)) { alert('发言不能重复'); document.inputform.msg.focus(); return false; }
//两次发言内容的间隔不能小于1秒,或者发言字数大于间隔*3 t2=(new Date()).getTime()/1000; if(((t2-t1)<1)||((t2-t1)*3<document.inputform.msg.value.length)) { document.inputform.msg.focus(); return false; }
//更新时间 t1=t2;
document.inputform.showsign.value=1;
//保存上次发言内容 document.inputform.message.value =document.inputform.msg.value;
//清空发言内容 document.inputform.msg.value ='';
//保存发言对象 dx=document.inputform.talkto.value;
//定位焦点 document.inputform.msg.focus();
//返回 return(true); }
3调用信息发送程序,发布聊天者已经进入的信息 <script> parent.bl.document.open(); parent.bl.document.write("<meta http-equiv='refresh' content='0;url=me ssagesend.php?name=<? print($name); ?>&&action=enter&&pass=<? print($p ass); ?>'>") parent.bl.document.close(); </script>
发言由messagesend.php处理完成,注意输出对象为bl,也就是处理发言的框架名称 ,这样保证发言框架的页面内容的完整
|