在我的网页上,我正在运行applet,为了警告用户对applet的某些输入,我正在使用打印错误到html页面。为了做到这一点,我使用javascript applet通信。以下是Javascript的代码:
<script type="text/javascript">
var counter=0;
function RemoveAppletErrorMessage()
{
var AppletErrorTag=document.getElementById("AppletErrorMessages");
if(AppletErrorTag!=null)
{
document.body.removeChild(AppletErrorTag);
}
}
function updateWebPage(s)
{
if(counter>=1) RemoveAppletErrorMessage();
var parag=document.createElement('P');
parag.setAttribute("id","AppletErrorMessages");
var txt=document.createTextNode(s);
parag.appendChild(txt);
document.body.appendChild(parag);
counter++;
}
</script>
这里,当使用以下代码单击JButton时,从Java applet调用Javascript函数updateWebPage(s)函数:
if(jso != null && !errorMessage.isEmpty())
try {
jso.call("updateWebPage", new String[] {errorMessage});
return;
}
catch (Exception ex) { ex.printStackTrace(); }
在沟通方面一切正常。但是,当第二次单击JButton时,我试图使用从UpdateWebPage调用的RemoveAppletErrorMessage()来清除错误消息。似乎每次我点击JButton时,错误消息都会附加到我不想要的网页上。我试图用.innerHTML =''清除它,它首先不起作用,所以我改变了我的策略,添加一个节点并检查节点是否存在,清除该节点并再次添加。可能出现什么问题?
答案 0 :(得分:0)
我打开一个id为AppletErrorMessages的div,并在我的updateWebPage()函数中使用jQuery(例如每次都停止创建一个新段落)。
function updateWebPage(s)
{
$("#AppletErrorMessages").html(s);
}
答案 1 :(得分:0)
可能是你在Java中附加了你的errorMessage变量吗?