私はこのjavascriptとdijitを初めて使用します。
私の問題:js-functionで、関数に送信されたパラメーターを使用してdijit.Dialogを作成しています。パラメータの1つは、ダイアログに表示されるはずのテキストのみを含む外部xhtmlファイルへのhrefです。ここで、containerNodeにダイアログへのもう1つのリンクを含むdivを追加します(すべてのシングルユーザーに固有であると想定されるリンクを使用)。問題は、dialog.showに到達するまで、追加されたdivがそこにあることを確認でき、その後、それが消えることです。xhtmlからのテキストが引き継ぎます。domNode(ボタンなど)に配置すると、間違った場所に表示されます。また、別のアプローチを試しました。リンクを外部のhref(ファイル3)に入れ、IDを指定して、その方法でリンクに到達し、操作しようとしました。このような:
document.getElementById("bytlosen").href="www.xxx.se";
しかし、それは機能しません。「document.getElementById(...)がnullです。
ダイアログにdiv(リンク)を追加する方法を誰かが教えてくれたらとても嬉しいです!私かどうかは関係ありません
ファイル3にあり、ファイル2からアクセスして操作できます。
単にjs(ファイル2)にdivを追加するか、または
その他の方法で?
私は3つのファイルを持っています:
ファイルone.xhtml(ファイル2を呼び出す):
<li><a href="#" onclick="new Xxxx.contactsDialog(Xxxx.CONTACT_INFO_TITLE, '${request.contextPath}/content/three.xhtml')">Kontakta oss</a></li>
ファイルtwo.js:
Xxxx.contactsDialog = function(title, href, cssClass, destroy) {
if (href) {
var options = {
title: title,
href: href
};
if (cssClass)
options["class"] = cssClass;
var dialog = new dijit.Dialog(options);
var div = document.createElement("div");
var bytLosen = document.createElement("a");
bytLosen.appendChild(document.createTextNode("Byt lösenord"));
bytLosen.setAttribute("href", "https://xxxx.xxx.se/xxx/xxx/xxxx=xxxx&TARGET=xxx.xxx.se");
bytLosen.setAttribute("target", "_blank");
div.appendChild(bytLosen);
dialog.containerNode.appendChild(div);
var okButton = document.createElement("button");
okButton.setAttribute("type", "submit");
okButton.setAttribute("style", "margin-top: 10px");
okButton.innerHTML = "Ok";
dojo.addClass(okButton, "button");
dialog.domNode.appendChild(okButton);
dialog.startup();
dialog.show();
dojo.connect(okButton, "onclick", function() {
dialog.hide();
if (destroy) {
dialog.destroy();
}
});
return true;
} else
return false;
};
ファイルthree.html:
<div class="popupHeader">Synpunkter och felanmälan <span style="font-weight: normal">skickas till:</span></div>
<div><a href="mailto:xxxxxx@xx.se">ajourhallning-xxx@xx.se</a></div>
<div class="popupHeader">Länkar <span style="font-weight: normal">(till xxxx's externa hemsida)</span></div>
<div><a href="http://www.xxxxxx.se" target="_blank">www.xxxxx.se</a></div>
<div><a href="http://www.xxxxx.se/xxxxx" target="_blank">www.xxxx.se/xxx</a></div>
<div class="popupHeader">Byt lösenord</div>