使用ajax从struts后台action中取值,值已经取出来,如:“你好世;你好中国”,在js里根据分号拆分,然后在<span id="span11"></span>里显示。
现在的问题是:始终显示"你好中国",请问,如何让两条都显示。var xmlHttp_news=null;
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
} var returnmsg="";
function ajaxQueryNews(){
xmlHttp_news=GetXmlHttpObject();
var url="${pageContext.request.contextPath}/toGetNews.action";
xmlHttp_news.open("GET",url,false);
xmlHttp_news.onreadystatechange = callback;
xmlHttp_news.send(null);
setTimeout("ajaxQueryNews()", 3000);
}
ajaxQueryNews();function callback(){
if (xmlHttp_news.readyState == 4) {
if (xmlHttp_news.status == 200) {
returnmsg = xmlHttp_news.responseText;
var str = new Array();
str = returnmsg.split(";");
for(var i = 0; i<str.length; i++){
document.getElementById("span11").innerHTML = str[i];
}
}
}
}
<marquee direction="up" scrollamount="1" scrolldelay="30" height="50px">
<font id="notice"><span id="span11"></span></font>
</marquee>
现在的问题是:始终显示"你好中国",请问,如何让两条都显示。var xmlHttp_news=null;
function GetXmlHttpObject(){
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
} var returnmsg="";
function ajaxQueryNews(){
xmlHttp_news=GetXmlHttpObject();
var url="${pageContext.request.contextPath}/toGetNews.action";
xmlHttp_news.open("GET",url,false);
xmlHttp_news.onreadystatechange = callback;
xmlHttp_news.send(null);
setTimeout("ajaxQueryNews()", 3000);
}
ajaxQueryNews();function callback(){
if (xmlHttp_news.readyState == 4) {
if (xmlHttp_news.status == 200) {
returnmsg = xmlHttp_news.responseText;
var str = new Array();
str = returnmsg.split(";");
for(var i = 0; i<str.length; i++){
document.getElementById("span11").innerHTML = str[i];
}
}
}
}
<marquee direction="up" scrollamount="1" scrolldelay="30" height="50px">
<font id="notice"><span id="span11"></span></font>
</marquee>
height="50px">
<div id="content">
</div>
</marquee>function callback()
{
if (xmlHttp_news.readyState == 4)
{
if (xmlHttp_news.status == 200)
{
returnmsg = xmlHttp_news.responseText;
var str = new Array();
str = returnmsg.split(";");
//Begin
var div = document.getElementById('content');
for (var i = 0; i < str.length; i++)
{
var subDiv = document.createElement('div');
subDiv.innerHTML = str[i];
div.appendChild(subDiv)
}
//End
}
}
}
document.getElementById("span11").innerHTML += str[i];
}
你原来document.getElementById("span11").innerHTML = str[i];只是重复赋值,没有将原来的值相加
但为什么要循环呢?
把";"去掉不就行了?var str = returnmsg.replace(/\;/g, "");
<marquee direction="up" scrollamount="1" scrolldelay="30" height="50px">
<div id="content">
</div>
</marquee>
function callback()
{
if (xmlHttp_news.readyState == 4)
{
if (xmlHttp_news.status == 200)
{
returnmsg = xmlHttp_news.responseText;
var str = new Array();
str = returnmsg.split(";");
for (var i = 0; i < str.length; i++)
{
str[i] += '</br>'
}
div.innerHTML = str.join('');
}
}
}
function callback()
{
if (xmlHttp_news.readyState == 4)
{
if (xmlHttp_news.status == 200)
{
returnmsg = xmlHttp_news.responseText;
var str = new Array();
str = returnmsg.split(";");
var div = document.getElementById('content'); for (var i = 0; i < str.length; i++)
{
str[i] += '</br>'
}
div.innerHTML = str.join('');
}
}
}