- PR -

showModalDialogと<base target="_self">について

1
投稿者投稿内容
ハント
会議室デビュー日: 2009/02/03
投稿数: 4
投稿日時: 2009-02-03 18:52
他の記事を参考にして、ダイアログから別ウィンドウが表示されないようになったのですが、一回目のSubmit時に、何故か周りに余計な空白が入ってしまいます。
解決方法がありましたらお願いいたします。

■呼び出し元ソース:src.html
<input type=button value="Open" onclick="OpenSubWindow()">
<script language=vbscript>
Sub OpenSubWindow()
window.showModalDialog("sub.html")
End Sub
</script>

■サブウィンドウ側ソース:sub.html
<html lang=ja>
<head>
<meta http-equiv="pragma" content="no-cache">
<base target="_self">
<title>test</title>
</head>
<body>
<form name=form1 action="sub.html" method=post>
<input type=submit>
</form>
</body>
</html>


[ メッセージ編集済み 編集者: ハント 編集日時 2009-02-03 18:54 ]
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2009-02-04 08:53
引用:

ハントさんの書き込み (2009-02-03 18:52) より:
一回目のSubmit時に、何故か周りに余計な空白が入ってしまいます。



余計な空白と言うのはボタンがロード時よりズレて?表示される様な現象ですよね?
CSSを設定する事で回避は出来ますよ。

<style type="text/css">
.test
{
top: ○○px;
left: ○○px;
}
</style>
</head>
<body>
<form name="form1">
<input type="submit" id="test" class="test">
</form>
</body>
</html>

ハント
会議室デビュー日: 2009/02/03
投稿数: 4
投稿日時: 2009-02-04 10:31
ご回答ありがとうございます。
ただ、頂いたコードのtopとleftに50pxを指定して試してみましたが、
ボタンの位置は初回と1回目でずれてしまいました。

なお、実際に使用したいダイアログは、ボタンだけの画面ではなく、
ドロップダウンとリスト(<table>で作成)を表示し、ドロップダウンの選択肢により
リストの内容をDBから取得した値に書き換えています。
現象が再現できる最小コードという意味でボタンだけのhtmlを例にあげました。
ごん太
大ベテラン
会議室デビュー日: 2002/07/30
投稿数: 182
お住まい・勤務地: 森の中
投稿日時: 2009-02-04 12:28
すみません。一行ぬけてました。
下記コードをCSSに追加して下さい。

position:absolute;
ハント
会議室デビュー日: 2009/02/03
投稿数: 4
投稿日時: 2009-02-04 20:32
すみません、自己解決しました。

原因ははっきりとはわかりませんが、1回目のSubmit後、bodyにマージンが設定されて
しまうようです。
<body style="margin:0px">
で回避できました。

ごん太さん
ご回答ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)