ボタンをクリックしたときにアコーディオンの内容を取得するためのコードを書いています。アコーディオンの内部コンテンツは、ajax 呼び出しを使用してサーバーから受信されています。これらのコンテンツは、ダイアログ ボックス内に表示されます。
ここでの問題は、コンテンツ (元はアコーディオン コンテンツであると想定されていた) がダイアログ ボックスで単純な html として表示され、アコーディオン (ボタン付き) として表示されないことです。HTMLファイルで同じコンテンツを使用するだけで(サーバーから受信したコンテンツを「」内に貼り付けると、正常に動作し、ダイアログボックスにアコーディオンが表示されます。
何がうまくいかないのですか?アコーディオンの内容を事前に伝える必要があることと関係がありますか。誰でもこれを修正する方法を提案できますか。(アコーディオンの内容は、サーバーから受信されるたびに変更されます)
JavaScript関数は次のとおりです。
<script>
$(document).ready(function() {
$("#accordion").accordion({
autoHeight: false
});
</script>
<script language="javascript">
function Faulttest()
{
var xmlhttp;
if (window.XMLHttpRequest)
{xmlhttp=new XMLHttpRequest();}
else
{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
Here we get the contents which should be inside the accordion which we receive from the server
> **document.getElementById("accordion").innerHTML=xmlhttp.responseText;**
}
}
xmlhttp.open("GET","http://****/Anomalies/index.jsp",true);
xmlhttp.send();
}
ページの HTML コンテンツは次のとおりです。
<body style="font-size:62.5%;" >
<div id="page">
<div id="header"><h1>header</h1></div>
<div id="body" >
<h1>content top </h1>
<div id="dia">
<div id="dialog" title="Detailed FeedBack"><div id="accordion">
// CODE SHOULD GO HERE
</div>
</div>
</div>
<button type="button" onclick="Faulttest();">Click Me!</button>
</body>