RT~
聊天系统在火狐里能够进行用户登陆,但是在聊天窗口中不能发送消息,用鼠标点也不行,现上传一些相关代码 聊天窗口:
<!-- 下面是输入聊天信息所使用的文本,并为onKeyPress事件指定了监听函数 -->
<input name="chatMsg" type="text" size="90"
onKeyPress="javascript:enterHandler(event);">
<!-- 下面是输入聊天信息的文本框,并为onclick事件指定了监听函数 -->
<input type="button" name="button" value="提交"
onclick="javascript:sendRequest();">
//创建XMLHttpRequest对象
function createXMLHttpRequest()
{
if(window.ActiveXObject){
try{
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e1){
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
}
}
else if(window.XMLHttpRequest){
XMLHttpReq=new XMLHttpRequest();
}
}
function sendRequest()
{
var chatMsg = input.value;
current=new Date().getSeconds();
var t=Math.abs(current-last);
if(t <2){
alert("请不要刷屏,谢谢!");
return;
}
else{
last=current;
}
if(chatMsg.length>30){
alert("不允许发言的字数超过30个字节!");
return;
}
//完成XMLHttpRequest对象的初始化
createXMLHttpRequest();
//定义请求的URL变量
var url = "Chat"; //通过open方法取得与服务器的连接 //本系统发送POST请求 XMLHttpReq.open("POST", url, true); //发送POST请求时应该增加该文件头 XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //指定XMLHttpRequest状态改变时的处理函数 XMLHttpReq.onreadystatechange = processResponse; //发送请求后,将聊天信息的输入文本框清空 input.value=""; //发送请求,send的参数包含许多的key-value对 //即以“请求参数名=请求参数值”的形式发送请求参数
var mode=document.getElementById("mode").value;
XMLHttpReq.send("chatMsg=" + chatMsg+"&mode="+mode); // 发送请求 } //定义定时发送的请求
function sendEmptyRequest()
{
//创建XMLHttpRequest对象
createXMLHttpRequest();
//定义服务器响应的URL
var url = "Chat";
//建立与服务器的连接
XMLHttpReq.open("POST", url, true);
//设置发送请求的参数格式
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//指定响应处理函数
XMLHttpReq.onreadystatechange = processResponse;
//发送请求
XMLHttpReq.send(null);
setTimeout("sendEmptyRequest()", 800);
}
//键盘处理函数 function enterHandler(event) { //定义键盘中发出事件的键 var keyCode=event.keyCode?event.keyCode:event.which?event.which: event.charCode; //回车键的代码为13,如果按下了回车键 if (keyCode == 13) { sendRequest(); } }
其他浏览器,发送消息都可以,哪位高手帮忙看看吧,谢谢了!在线等~~~
聊天系统在火狐里能够进行用户登陆,但是在聊天窗口中不能发送消息,用鼠标点也不行,现上传一些相关代码 聊天窗口:
<!-- 下面是输入聊天信息所使用的文本,并为onKeyPress事件指定了监听函数 -->
<input name="chatMsg" type="text" size="90"
onKeyPress="javascript:enterHandler(event);">
<!-- 下面是输入聊天信息的文本框,并为onclick事件指定了监听函数 -->
<input type="button" name="button" value="提交"
onclick="javascript:sendRequest();">
//创建XMLHttpRequest对象
function createXMLHttpRequest()
{
if(window.ActiveXObject){
try{
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e1){
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
}
}
else if(window.XMLHttpRequest){
XMLHttpReq=new XMLHttpRequest();
}
}
function sendRequest()
{
var chatMsg = input.value;
current=new Date().getSeconds();
var t=Math.abs(current-last);
if(t <2){
alert("请不要刷屏,谢谢!");
return;
}
else{
last=current;
}
if(chatMsg.length>30){
alert("不允许发言的字数超过30个字节!");
return;
}
//完成XMLHttpRequest对象的初始化
createXMLHttpRequest();
//定义请求的URL变量
var url = "Chat"; //通过open方法取得与服务器的连接 //本系统发送POST请求 XMLHttpReq.open("POST", url, true); //发送POST请求时应该增加该文件头 XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //指定XMLHttpRequest状态改变时的处理函数 XMLHttpReq.onreadystatechange = processResponse; //发送请求后,将聊天信息的输入文本框清空 input.value=""; //发送请求,send的参数包含许多的key-value对 //即以“请求参数名=请求参数值”的形式发送请求参数
var mode=document.getElementById("mode").value;
XMLHttpReq.send("chatMsg=" + chatMsg+"&mode="+mode); // 发送请求 } //定义定时发送的请求
function sendEmptyRequest()
{
//创建XMLHttpRequest对象
createXMLHttpRequest();
//定义服务器响应的URL
var url = "Chat";
//建立与服务器的连接
XMLHttpReq.open("POST", url, true);
//设置发送请求的参数格式
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//指定响应处理函数
XMLHttpReq.onreadystatechange = processResponse;
//发送请求
XMLHttpReq.send(null);
setTimeout("sendEmptyRequest()", 800);
}
//键盘处理函数 function enterHandler(event) { //定义键盘中发出事件的键 var keyCode=event.keyCode?event.keyCode:event.which?event.which: event.charCode; //回车键的代码为13,如果按下了回车键 if (keyCode == 13) { sendRequest(); } }
其他浏览器,发送消息都可以,哪位高手帮忙看看吧,谢谢了!在线等~~~
var input = document.getElementById("chatMsg");
//将焦点定位在聊天输入框内
input.focus();
//系统使用的XMLHttpRequest对象
var XMLHttpReq;
var last=new Date().getSeconds();
var current;-------------------------------------------------------------------
忘记把前面定义input的代码发上来了~~