⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.js

📁 用struts,ajax实现的聊天室
💻 JS
📖 第 1 页 / 共 3 页
字号:
 
 var msg="";//保存上条信息的内容,防止刷屏。
 var separentUsers=new Array();//储存屏蔽对象
 var count=0; //储存屏蔽对象个数
 
 
/*******************************************************************************************************
 *                                                                                                     *
 *                                     以下为用户登录聊天室功能                                          *
 *                                                                                                     *
********************************************************************************************************/


/**********登陆验证**********
  查看游客登录用户名是否空,非空则发送信息到服务器和数据库验证
*****************************/
function login1(){
   var name=$F("username");
   var room=$("room").value;
   if(name==""){
      window.alert("用户名不能为空!");
      return false;
   }
   if(room==""){
      window.alert("请选择房间!");
      return false;
     }  

   var url="login.do";         //发送信息到服务器和数据库验证
   params="name="+name+"&pass="+""+"&room="+room;
   var myAjax=new Ajax.Request(url,{method:"post",parameters:params,onComplete:showLogin1});
}


/**********显示游客登陆验证结果**********
  解析服务器返回的xml文档,显示与数据库验证结果,通过则进入聊天室,否则提示错误
*****************************/
function showLogin1(request){
   var msg=request.responseXML.getElementsByTagName("adduser")[0].firstChild.data;
   if(msg!="ok"){
      window.alert("用户名已经被注册或游客正在使用");
   }else{
     window.location.href="chat.jsp";
   }
}

/**********登陆验证**********
  查看注册登录用户名,密码是否空,通过则发送信息到服务器和数据库验证
*****************************/
function login2(){
  var name=$F("name");
  var pass=$F("pass");
  var room=$("room").value;
   if(name==""){
      window.alert("用户名不能为空!");
      return false;
   }
   if(pass==""){
      window.alert("请输入密码!");
      return false;
   }
   if(room==""){
      window.alert("请选择房间!");
      return false;
     }  
   var url="login.do"; //发送信息到服务器和数据库验证
   params="name="+name+"&pass="+pass+"&room="+room;
   var myAjax=new Ajax.Request(url,{method:"post",parameters:params,onComplete:showLogin2});
}

/**********显示注册用户登陆验证结果**********
  解析服务器返回的xml文档,显示与数据库验证结果,通过则进入聊天室,否则提示错误
*****************************/
function showLogin2(request){
   var msg=request.responseXML.getElementsByTagName("login")[0].firstChild.data;
   if(msg!="ok"){
      window.alert(msg);
   }else{
     window.location.href="chat.jsp";
   }
 }

/**********管理员登录验证**********
  查看注册登录用户名,密码是否空,通过则发送信息到服务器和数据库验证
*****************************/
function adminLoginValid(){
  var adminLoginName=$F("adminLoginName");
  var adminLoginPass=$F("adminLoginPass");
  if(adminLoginName==""||adminLoginPass==""){
    window.alert("请输入完整信息!");
    return false;
   }
   return true;
    
}

/*******************************************************************************************************
 *                                                                                                     *
 *                                    以下为用户注册功能                                             *
 *                                                                                                     *
********************************************************************************************************/
 
/**********验证用户名**********
  验证用户名是否已经被注册
*****************************/
function checkUserName(){
  var name=$F("regUserName");
  if(name==""){
    $("regUserCheck").innerHTML="用户名不能为空";
    $("regUserName").focus();
    return false;
    }else if(name.length>12){
      window.alert("输入太长.");
      return false;
   }else{
      var url="checkUserName.do";
      params="name="+name;
      var myAjax=new Ajax.Request(url,{method:"post",postBody:params,onComplete:showCheckUserName});
    }
}

/**********显示用户名验证结果*********
   解析服务器返回的xml文档,显示与数据库验证结果
*************************************/
function showCheckUserName(request){
   var msg=request.responseXML.getElementsByTagName("adduser")[0].firstChild.data;
   if(msg=="ok"){
     $("regUserCheck").innerHTML="用户名可以使用";
     }
   else{
     $("regUserCheck").innerHTML="用户名已经被注册";
     $("regUserPass").value="";
     $("regUserName").focus();
   }  
 }   
 

/**********注册用户**********
  初步验证验证输入信息
 *****************************/

function regUserValid(){
   var name=$F("regUserName");
   var pass=$F("regUserPass");
   if(name==""){
     window.alert("用户名不能为空!");
     return false;
   }
   if(pass==""){
    window.alert("密码不能为空!");
    return false;
   }
   if(pass.length<6 || pass.length>10){
      window.alert("密码长度=6-10位!");
      return false;
    }
    return true;
 }



/*******************************************************************************************************
 *                                                                                                     *
 *                                     以下为获取和显示聊天信息功能                                      *
 *                                                                                                     *
 *******************************************************************************************************/

/**********添加讲话对象**********
   由聊天窗口中获取讲话对象,添加到列表。
   userName 讲话对象用户名 
*********************************/

function talkTo(userName){
  if(userName==""){
    return false;
  }
  addOption(userName);   //调用函数,添加对象到select
}
 
/**********获取说话对象**********
   由在线列表中获取讲话对象,添加到列表
********************************/

function selectUser(){
  var userName=$("userList").value;
  if(userName==""){
     return;
  }
  addOption(userName); //调用函数,添加对象到select
}

/**********添加对象到select**********
   新建option对象,添加到select中。
   userName 添加的对象用户名
*************************************/

function addOption(userName){
  var checkoption=$("receiveUser").getElementsByTagName("option");
  for(var i=0;i<checkoption.length;i++){
    if(checkoption[i].value==userName){//查看对话列表中是否已经存在
      $("receiveUser").value=userName; //存在则显示已经存在的用户名
      return;
    }
  }
  var option=new Option(userName);  //新建Option对象
  option.setAttribute("value",userName); //设置value属性
  $("receiveUser").add(option);   //添加到列表
  $("receiveUser").value=userName;  //显示添加的对象
}

/**********选择表情**********
  从表情列表中选择一个表情,并添加到输入聊天信息中。
****************************/

function selectFace(){
  var face=$F("face"); //获取选择的表情
  if(face=="表情"){   //如果没有选择表情,则返回。
     return false;
  }
  var context=$F("context");  //获取输入的聊天信息
  context+="{"+face+"}";   //将表情代码加到输入信息中。格式为..{表情}....
  $("context").value=context;  //在输入信息窗口中显示
  $("face").value="表情";   //表情列表恢复

}


/**********刷新聊天窗口**********
   发送空信息到服务器,请求返回聊天信息
********************************/

function sendEmptyMsg(){
      var url="sendMessage.do";
      var myAjax=new Ajax.Request(url,{method:"post",parameters:null,onComplete:showMsg});
      setTimeout("sendEmptyMsg()",2000);
}


/**********发送信息**********
  发送用户输入的聊天信息
****************************/

function sendMsg(){
  var context=$F("context");  //讲话内容
  var type=$F("type");        //是否为悄悄话
  var color=$F("color");      //选择的颜色  
  var receiveUser=$F("receiveUser");//讲话对象
  var face=$F("face");        //表情
  if(context==""){
     window.alert("请输入聊天信息!");
     $("context").focus();
     return false;
   }
  if(context.length>100){
     window.alert("输入信息太长!");
     $("context").focus();
     return false;
   }
   if(type==null)    //"悄悄话"没选,默认为对所有人讲
        type="public";
   if(type=="private"&&receiveUser=="所有人"){  //"悄悄话" 必须要有讲话的对象
       window.alert("请选择悄悄话对象!");
       return false;
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -