「一気に最後まで読んだ」本、教えて下さい!

Yahoo! User Interface Libraryのdialogを起動する時にhtmlに下記のように書いているのですが、
<A id=show href="javascript:;">チェック済</A>
このリンクをjavascript内で起動するにはどうすればよいのでしょうか。

この処理を行う前に一旦javascriptで行いたい処理があり、
javascript内で上記を実行したいのです。

リンクは
location.href="javascript:;">
というように設定して、上記のid=show の部分はどのように指定すれば
良いか教えてください。

宜しくお願いします。

A 回答 (1件)

>>リンクをjavascript内で起動するにはどうすればよいのでしょうか。


リンクは単にjavascriptを動かしているだけで、不要だと思います。
 dialogはdialogオブジェクトのrenderメソッドで表示先のオブジェクト
を指定して表示させます。

必要な処理を行った後、dialogオブジェクトを生成して、表示させます。

var dlgObj = new YAHOO.widget.SimpleDialog("dlg", {
width : "300px",
height : "200px",
x : 200,
y : 100});
dlgObj.setBody("hogehoge");
dlgObj.render(document.body);

この回答への補足

ご回答有難うございます。
無事ダイアログは出るようになってのですが、なぜかボタンが表示されなくなってしまいました。

下記は直す前のhtmlです。(http://www.tuyudaku.net/javascript/yui-dialog.htmlを参考にさせて頂いています。)

<HTML><HEAD>
<SCRIPT type=text/javascript>
var init = function() {
var dialog1 = new YAHOO.widget.Dialog("dialog1",{
constraintoviewport:true,
modal: true,
fixedcenter: true,
visible: false
});

var dialog1_submit = function(){
var formData = this.getData();
var buf = [];
buf.push("text=");
buf.push(formData.textbox);
buf.push("\n");
buf.push("select=");
buf.push(formData.select);
buf.push("\n");
buf.push("check=");
buf.push(formData.check);
alert(buf.join(''));
};

var dialog1_cancel = function(){
this.cancel();
}

dialog1.cfg.queueProperty("buttons", [
{text: "送信", handler: dialog1_submit, isDefault: true},
{text: "キャンセル", handler: dialog1_cancel}
]);

dialog1.render();

YAHOO.util.Event.addListener("show", "click", dialog1.show, dialog1, true);
};

YAHOO.util.Event.addListener(window, "load", init);
</SCRIPT>

</HEAD>
<BODY>

<P><A id=show href="javascript:;">ここをクリックするとDialogが表示されます</A></P>
<DIV id=dialog1>
<DIV class=hd>ダイアログヘッダー</DIV>
<DIV class=bd>ボディー部分にフォームを書く
<FORM onsubmit="return false;" action=/ method=post>
<INPUT name=textbox>
<SELECT multiple name=select>
<OPTION value=select-1>select-1</OPTION>
<OPTION value=select-2>select-2</OPTION>
<OPTION value=select-3>select-3</OPTION>
</SELECT>
<INPUT type=checkbox value=1 name=check>1
</FORM>
</DIV>
</DIV>
</BODY>
</HTML>

起動時にdialogの設定をしておくと"送信"、"キャンセル"のボタンが
表示されるのですが、ボタンクリック時等にvisible: trueにして
上記を実行すると、"送信"、"キャンセル"のボタンが表示されなくなってしまいました。どうすればよいかアドバイスを頂けますでしょうか。宜しくお願いします。

補足日時:2009/02/03 16:40
    • good
    • 0
この回答へのお礼

すいません。
解決しました。有難うございました。

お礼日時:2009/02/04 10:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報