实在是找不到原因了,请大家帮帮忙?
我先把一段lrc歌词文字通过ajax写入 <span id= "lrcdata " style= "display:none "> </span> 中。然后希望用document.getElementById( "lrcdata ").innerHTML在读取出来,但是第一次读取总是为空,需要第二次读取才可以。但奇怪的是我在取之前加入一个alert( "哈哈 ")后就读取成功了。但是在实际的运用中是不允许alert()提示框的。请问alert()不就是暂定js程序嘛?在这里么会影响到后面的读取成败呢?
下面是我以上所说的主要步骤:
function playList_dblClick() //处理双击事件
{
GetLrc(LrcName); //利用ajax中的方法GetLrc()获取.Lrc文件的内容,并写入 <span id= "lrcdata ">
// alert( "哈哈 ");
alert(lrcdata.innerHTML);
}
//ajax部分
function GetLrc(LrcName)
{
send_request( "readLrc.asp?LrcName= "+LrcName);
}
//把返回的结果写入 <span id= "lrcdata ">
function processRequest()
{
document.getElementById( "lrcdata ").innerHTML=http_request.responseText;
}
------解决方案--------------------应该在回调函数执行完毕后再取值,否则就是现在的结果。
简单改了一下,试试 @_@
function playList_dblClick() //处理双击事件
{
GetLrc(LrcName); //利用ajax中的方法GetLrc()获取.Lrc文件的内容,并写入 <span id= "lrcdata ">
}
//ajax部分
function GetLrc(LrcName)
{
send_request( "readLrc.asp?LrcName= "+LrcName);
}
//把返回的结果写入 <span id= "lrcdata ">
function processRequest()
{
document.getElementById( "lrcdata ").innerHTML=http_request.responseText;
// 这次应该可以了
alert(lrcdata.innerHTML);
}