做一个聊天室 用两个div.innerHTML 结果只有一个可用 但是只有一个DIV可以显示出内容。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ChatRoom.GetNewMsgString().value; ChatRoom.GetSiLiao().value; 是不是上面的代码不能同时兼容,只能执行一个从而导致另一个出错?? 这个是调用了AJAX.DLL文件 实现无刷新的 后台的方法没有问题~而且如果注释掉其中一个DIV另一个就可以正常显示聊天内容了function send() { if(ChatRoom.ISnotSend().value ==1) { var txtContent = document.all("content").value; //文本框输入内容 if (txtContent == "")return; var user_to = document.all("userlist").value; //聊天对象 var textcolor = document.all("textcolor").value; //颜色 var isPublic = !(document.all("isSecret").checked); //是否密谈 //调用服务器端方法发送消息 ChatRoom.SendMsg(txtContent, user_to, textcolor, isPublic); //更新聊天内容显示// var txt = ChatRoom.GetNewMsgString().value;// // var aaa = document.all("chatcontent");// // aaa.innerHTML = txt + aaa.innerHTML; } else { alert("你已经被禁言"); } ssend(); //清空输入框 document.all("content").value = ""; } function ssend() { var stxt = ChatRoom.GetSiLiao().value; var bbb = document.all("chatsiliao"); bbb.innerHTML = stxt + bbb.innerHTML; } 下面是后台的方法/// <summary> /// 获取新消息的html字符串 /// </summary> /// <returns>客户端输出的html字符串</returns> [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] public string GetNewMsgString() { string strMsgHTML = ""; SqlConnection conn = new SqlConnection( ConfigurationManager.ConnectionStrings["SQLDB"].ToString()); SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "GetNewMsg"; cmd.Parameters.Add("@uname", UName); conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { if (dr.GetString(1) != "") { strMsgHTML += string.Format( "<span class='chatmsg' style='COLOR: #{0}'>{1} {2} {3} 说: {4}</span><br>", dr["color"].ToString(), TestYourself(dr["uname"].ToString()), TestIsPublic(dr.GetBoolean(5)), TestYourself(dr["user_to"].ToString()), Replace_GTLT(dr["msg"].ToString())); } else { strMsgHTML += string.Format( "<span class='chatmsg' style='COLOR: #{0}'>{1}</span><br>", dr["color"].ToString(), dr["msg"].ToString()); } } } conn.Close(); SetMsgPos(); return strMsgHTML; } [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] public string GetSiLiao() { string strMsgHTML = ""; SqlConnection conn = new SqlConnection( ConfigurationManager.ConnectionStrings["SQLDB"].ToString()); SqlCommand cmd = conn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "GetMMsg"; cmd.Parameters.Add("@uname", UName); conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { if (dr.GetString(1) != "") { strMsgHTML += string.Format( "<span class='chatmsg' style='COLOR: #{0}'> [ {1} ] {2} {3} {4}</span><br>", dr["color"].ToString(), dr["uname"].ToString(), TestIsPublic(dr.GetBoolean(5)), TestYourself(dr["user_to"].ToString()), Replace_GTLT(dr["msg"].ToString())); } else { strMsgHTML += string.Format( "<span class='chatmsg' style='COLOR: #{0}'>{1}</span><br>", dr["color"].ToString(), dr["msg"].ToString()); } } } conn.Close(); SetMsgPos(); return strMsgHTML; } 应该连续AJAX回调了2次的问题更新聊天内容显示 可以用定时刷新 已经用了定时刷新~但是这里也只是一个DIV显示 组件不鸟解,如果是手写还可以帮你看下js而且看你的js代码逻辑不太对啊,你只是发表留言时才更新聊天记录function send() { if(ChatRoom.ISnotSend().value ==1) { var txtContent = document.all("content").value; //文本框输入内容 if (txtContent == "")return; var user_to = document.all("userlist").value; //聊天对象 var textcolor = document.all("textcolor").value; //颜色 var isPublic = !(document.all("isSecret").checked); //是否密谈 //调用服务器端方法发送消息 ChatRoom.SendMsg(txtContent, user_to, textcolor, isPublic); //更新聊天内容显示 // var txt = ChatRoom.GetNewMsgString().value; // // var aaa = document.all("chatcontent"); // // aaa.innerHTML = txt + aaa.innerHTML; } else { alert("你已经被禁言"); } ssend(); //清空输入框 document.all("content").value = ""; } function ssend() { var stxt = ChatRoom.GetSiLiao().value; var bbb = document.all("chatsiliao"); bbb.innerHTML = stxt + bbb.innerHTML; //==============================将聊天记录更新放入ssend()函数里面看看 var txt = ChatRoom.GetNewMsgString().value; var aaa = document.all("chatcontent"); aaa.innerHTML = txt + aaa.innerHTML; } form表单内不能调用JS函数 鼠标离开下拉菜单隐藏问题 window.showModalDialog在linux相关问题 请教,如何用JS获取上一个网页的网址 ???? 用jsp实现身份验证登录的代码 如何接收对象变量? 求助jscript高手,如何维持网页中选择的内容不失去焦点? 请教:怎么用javascript实现清屏?(急) 我有一个table,我想在上面的tr中使用相对定位,下面的tr中用绝对定位,用javascript实现,怎么不行呀! 急!怎么用jascript的方法知道某一个字母的ascII码 100分 js滚动 右个问题
ChatRoom.GetSiLiao().value;
是不是上面的代码不能同时兼容,只能执行一个从而导致另一个出错??
function send()
{
if(ChatRoom.ISnotSend().value ==1)
{
var txtContent = document.all("content").value; //文本框输入内容
if (txtContent == "")return;
var user_to = document.all("userlist").value; //聊天对象
var textcolor = document.all("textcolor").value; //颜色
var isPublic = !(document.all("isSecret").checked); //是否密谈
//调用服务器端方法发送消息
ChatRoom.SendMsg(txtContent, user_to, textcolor, isPublic);
//更新聊天内容显示
// var txt = ChatRoom.GetNewMsgString().value;
//
// var aaa = document.all("chatcontent");
//
// aaa.innerHTML = txt + aaa.innerHTML;
}
else
{
alert("你已经被禁言");
}
ssend();
//清空输入框
document.all("content").value = "";
}
function ssend()
{
var stxt = ChatRoom.GetSiLiao().value;
var bbb = document.all("chatsiliao");
bbb.innerHTML = stxt + bbb.innerHTML;
}
/// <summary>
/// 获取新消息的html字符串
/// </summary>
/// <returns>客户端输出的html字符串</returns>
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public string GetNewMsgString()
{
string strMsgHTML = "";
SqlConnection conn = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLDB"].ToString()); SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetNewMsg";
cmd.Parameters.Add("@uname", UName); conn.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
if (dr.GetString(1) != "")
{
strMsgHTML += string.Format(
"<span class='chatmsg' style='COLOR: #{0}'>{1} {2} {3} 说: {4}</span><br>",
dr["color"].ToString(),
TestYourself(dr["uname"].ToString()),
TestIsPublic(dr.GetBoolean(5)),
TestYourself(dr["user_to"].ToString()),
Replace_GTLT(dr["msg"].ToString()));
}
else
{
strMsgHTML += string.Format(
"<span class='chatmsg' style='COLOR: #{0}'>{1}</span><br>",
dr["color"].ToString(),
dr["msg"].ToString());
}
}
}
conn.Close(); SetMsgPos(); return strMsgHTML;
} [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public string GetSiLiao()
{
string strMsgHTML = ""; SqlConnection conn = new SqlConnection(
ConfigurationManager.ConnectionStrings["SQLDB"].ToString()); SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetMMsg";
cmd.Parameters.Add("@uname", UName); conn.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
if (dr.GetString(1) != "")
{
strMsgHTML += string.Format(
"<span class='chatmsg' style='COLOR: #{0}'> [ {1} ] {2} {3} {4}</span><br>",
dr["color"].ToString(),
dr["uname"].ToString(),
TestIsPublic(dr.GetBoolean(5)),
TestYourself(dr["user_to"].ToString()),
Replace_GTLT(dr["msg"].ToString()));
}
else
{
strMsgHTML += string.Format(
"<span class='chatmsg' style='COLOR: #{0}'>{1}</span><br>",
dr["color"].ToString(),
dr["msg"].ToString());
}
}
}
conn.Close(); SetMsgPos(); return strMsgHTML;
}
更新聊天内容显示 可以用定时刷新
function send()
{
if(ChatRoom.ISnotSend().value ==1)
{
var txtContent = document.all("content").value; //文本框输入内容
if (txtContent == "")return;
var user_to = document.all("userlist").value; //聊天对象
var textcolor = document.all("textcolor").value; //颜色
var isPublic = !(document.all("isSecret").checked); //是否密谈
//调用服务器端方法发送消息
ChatRoom.SendMsg(txtContent, user_to, textcolor, isPublic);
//更新聊天内容显示
// var txt = ChatRoom.GetNewMsgString().value;
//
// var aaa = document.all("chatcontent");
//
// aaa.innerHTML = txt + aaa.innerHTML;
}
else
{
alert("你已经被禁言");
}
ssend();
//清空输入框
document.all("content").value = "";
}
function ssend()
{
var stxt = ChatRoom.GetSiLiao().value;
var bbb = document.all("chatsiliao");
bbb.innerHTML = stxt + bbb.innerHTML;
//==============================将聊天记录更新放入ssend()函数里面看看
var txt = ChatRoom.GetNewMsgString().value;
var aaa = document.all("chatcontent");
aaa.innerHTML = txt + aaa.innerHTML;
}