1下面是基本的发送表单代码
<form name=inputform action='messagesend.php' target='bl' onsubmit='return(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 value=所有人>
//上次聊天的发送内容
<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=messagesend.php?name=<? print($name); ?>&&action=enter&&pass=<? print($pass); ?>'>)
parent.bl.document.close();
</script>
发言由messagesend.php处理完成,注意输出对象为bl,也就是处理发言的框架名称,这样保证发言框架的页面内容的完整
原作者:howtodo
来源:php2000.com
