javascript 点击两次才触发事件

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:22:10
我的asp里有类似这样的一段代码,onclick是现实隐藏层。为什么我要点击两次 onclick 这个链接,才显示触发这个事件?
<a href="javascript:void(0)" onclick="FCL_Show_New01(<%=rs("FCL_id")%>)">.</a>

function FCL_Show_New01(id)
{
if (document.getElementById("emailPopup"+id).style.display=="none")
{
document.getElementById("emailPopup"+id).style.display="block";
}
else
{document.getElementById("emailPopup"+id).style.display="none";
}
}

第一次把
<a id="excel" href="javascript:downExcel()">数据Excel下载</a>
变成了
<a href="intercalateMetaName.do?type=excelDataEduce">数据Excel下载</a>
这个过程是触发downExcel()方法。但此时只是改变了href所以你会发现根本没下载。
当在点的时候才是下载的URL。
所以直接改为
<a href="intercalateMetaName.do?type=excelDataEduce">数据Excel下载</a>

function里的判断条件写错了
你改成下面的,就可以用了,之所以这样,是因为没有设置的时候,display是为空的

if (document.getElementById("emailPopup"+id).style.display!="block")
{
document.getElementById("emailPopup"+id).style.display="none";
}
else
{
document.getElementById("emailPopup"+id).style.display="block";
}

看不出来JS哪里有问题,可能是别的代码影响的。。。