父の窓:
次のようにコードコードをコピーします。
<html>
<head>
<Title>非タイトルページ</title>
<スクリプト言語= "javascript" type = "text/javascript">
function opendialog1()
{{
var somevalue = widow.showmodaldialog( "b.html"、 ""、 "dialogwidth = 500px; dialogheight = 500px; status = no; help = no; scrollbars = no");
document.form1.p1t.value = somevalue;
}
</script>
</head>
<body>
<form name = "form1" action = "#">
<入力型= "テキスト" name = "p1t">
<入力型= "ボタン"値= "ダイアログボックスを開きます" onclick = "opendialog1()">
</form>
</body>
</html>
sub -window:
次のようにコードコードをコピーします。
<html>
<head>
<Title>非タイトルページ</title>
<スクリプト言語= "javascript" type = "text/javascript">
関数a()
{{
var wname = document.form1。
parent.window.returnvalue = wname; //親のウィンドウは前のページです
window.close();
}
</script>
</head>
<body>
<form name = "form1" action = "" >>
<input type = "text" value = "balueを入力する" name = "backname" >>
<入力型= "button" value = "pass" onclick = "return a()">
</form>
</body>
</html>
--- 1。基本的な文法
----ウィンドウオブジェクトには、Pageボタンのオンクリックに次のコードを記述できます。
<ボタンonclick = "window.showmodaldialog
( 'dialog.htm') ">検索< /button>
----システムは、新しいウィンドウで[Dialog.htm]ページを開き、ユーザーがページに応答しない場合、ホームページはカーソルを取得しません。
---- Dialog.htmのウィンドウオブジェクトのreturnValueプロパティを設定して、ホームページが返品値を取得できるようにします。たとえば、ページの決定されたボタンのオンクリックに書き込みます。
window.returnvalue = window。
document.all.itpeoplid.value
----入力ボックスIPTPeopleidの値を、ウィンドウオブジェクトのReturnValueプロパティに力を与えます。この値は、ホームページで取得できます。
var str = showmodaldialog( "dialog1.htm")
----2。初期化値を渡します
----初期値をモーダルページに渡す場合は、ホームページで次のステートメントを使用できます。
var csearchvalue = showmodaldialog
( 'Dialog.htm'、 'ABC')
dialog.htmでwindow.dialogargumentを使用します
属性は「ABC」を取得できます。例えば:
<window event = knowled = "jscript">
if(window.dialogarguments!= null)
window.document.all.iptpeoplid.value = window.dialogarguments;
< /script>
----3。複数の値を渡します
----複数のパラメーターをモーダルページに渡す場合は、最初にホームページ上のオブジェクトを定義できます。
機能mydialog(){
var str1;
var str2;
}
----モジュラーページを表示する前にターゲットを表示し、showmodaldialogメソッドを呼び出します。
function welcomeyou(inistr1、inistr2){{
mydialog.str1 = inistr1;
mydialog.str2 = inistr2;
ifmodaldialog( "dialog2.htm"、mydialog)
== false)//
... ...
----モデルページでは、このコードを使用できます
window.document.all.iptid.value =
window.dialogarguments.str1
値を引用するか、このコードを使用して値を割り当てます
window.dialogarguments.str1 =
window.document.all.iptid.value
----完全なルーチンは次のとおりです。
---- 1つのパラメーターのみについては、main1.htmおよびdialog1.htmを参照してください。
----複数のパラメーターを渡す状況については、main2.htmおよびdialog2.htmを参照してください。
父の窓:
dim xxx 'return値
dim yyy 'パラメーターはチャイルドウィンドウに渡されました
var xxx = showmodaldialog( 'xxx.asp'、 'yyy'、 'dialogwidth:100px; dialogheight = 290px; status:no')
sub -window:
dim yyyは父の窓からのパラメーターです
父親の窓のDIM XXXのパラメーター
yyy = window.dialogarguments
xxx = window.returnvalue
window.dialogargumentsの使用
JavaScriptには、window.alert()、window.confirm()、window.prompt()など、ダイアログボックスを作成するための多くの構築方法があります。ただし、IEはダイアログボックスをサポートする方法を提供します。のように:
showmodaldialog()(ie4+support)
showmodelessdialog()(ie5+support)
window.showmodaldialog()メソッドは、HTMLコンテンツを表示するモジュラーダイアログボックスを作成するために使用されます。
window.showmodelessdialog()メソッドは、HTMLコンテンツを表示する非モーダルダイアログボックスを作成するために使用されます。
showmodelessdialog()でウィンドウを開くと、window.close()を使用してオフにする必要はありません。つまり、ダイアログボックスは常に同じであるとは限りません。モーダル[IE4]メソッドのダイアログボックスには常にフォーカスがあります(閉じられるまで焦点を削除できません)。モーダルダイアログボックスはウィンドウのウィンドウに接続されているため、別のウィンドウを開くと、リンクの関係はまだ保存され、イベントウィンドウの下に隠されています。
使用方法は次のとおりです。
vreturnvalue = window.showmodaldialog(surl [、varguments] [、sfeatures]))
vreturnvalue = window.showmodelessdialog(surl [、varguments] [、sfeatures])))
パラメーター説明:
SURL
パラメーターを選択する必要があります、タイプ:文字列。 URLは、ダイアログボックスに表示されるドキュメントを指定するために使用されます。
varguments
オプションのパラメーター、タイプ:バリアント。パラメーターをダイアログボックスに渡すために使用されます。通過したパラメータータイプは、配列などを含めて制限されていません。ダイアログボックスには、Window.Dialogargumentsを介して渡されたパラメーターが取得されます。
sfeatures
オプションのパラメーター、タイプ:文字列。ダイアログボックスの外観とその他の情報を説明するために使用すると、以下の1つ以上を使用して、セグメントを使用できます。
ダイアログハイトダイアログボックスの高さ、100px以上、IE4のDialogheightおよびDialogWidthはEMであり、IE5はPXであり、モーダル方法がPXをユニットとして使用するのに便利です。
ダイアログウィッド:ダイアログボックスの幅。
ダイアログレフト:デスクトップの左からの距離。
ダイアログトップ:デスクトップからの距離。
センター:{はい|。
ヘルプ:{はい|。
resizable:{はい|。デフォルト番号
ステータス:{はい|。デフォルトはyes [modeless]またはno [modal]です。
スクロール:{はい|デフォルトはイエスです。
HTAで使用されるいくつかの属性がありますが、一般的に一般的なWebページでは使用されていません。
対話:{はい|デフォルトはいいえです。
エッジ:{sunken |。デフォルトは昇給です。
adorned:はい|
パスパラメーター:
ダイアログボックスのパラメーターを渡す場合は、Vargumentsに渡されます。タイプは制限されていませんが、最大値は4096文字です。次のようなオブジェクトを渡すこともできます。
test1.htm
=================
<スクリプト>
varmxh1 = newArray( "mxh"、 "net_lover"、 "Mencius E Chapter"))
varmxh2 = window.open( "about:blank"、 "window_mxh")
//ダイアログボックスに配列を送信します
window.showmodaldialog( "test2.htm"、mxh1)
// [ウィンドウオブジェクトをダイアログ]ボックスに送信します
window.showmodaldialog( "test3.htm"、mxh2)
</script>
test2.htm
=================
<スクリプト>
vara = window.dialogarguments
アラート( "渡すパラメーターは:"+a)
</script>
test3.htm
=================
<スクリプト>
vara = window.dialogarguments
alert( "渡したパラメーターはウィンドウオブジェクト、名前:"+a.name)です)
</script>
ウィンドウを介してダイアログボックスのウィンドウに情報を返すことができます。もちろん、それはオブジェクトにすることもできます。例えば:
test4.htm
=================
<スクリプト>
vara = window.showmodaldialog( "test5.htm")
for(i = 0; i <a.length; i ++)alert(a [i])
</script>
test5.htm
=================
<スクリプト>
functionsendto()
{{
vara = newaray( "a"、 "b")
window.returnvalue = a
window.close()
}
</script>
<body>
<form>
<inputValue = "type = buttonNclick =" sendto() ">
</form>
一般的な問題:
1.新しいウィンドウを開かずにモーダルダイアログボックスに送信する方法は?
ブラウザがIE5.5+の場合、ダイアログボックスに名前属性を持つIFRAMEを使用でき、提出時にターゲットの名前をiFrameに策定できます。 IE4+の場合、0の高さを使用して枠組みます。例、
test6.htm
=================
<スクリプト>
window.showmodaldialog( "test7.htm")
</script>
test7.htm
=================
if(window.location.search)alert(window.location.search)
<framesetrows = "0、*">
<framesrc = "about:blank">
<framesrc = "test8.htm">
</frameset>
test8.htm
=================
<formtarget = "_ self" method = "get">
<inputname = txtvalue = "test">
<inputType = submit>
</form>
<スクリプト>
if(window.location.search)alert(window.location.search)
</script>
2。http://servername/virtualdirname/test.htmを介してダイアログボックスに直接渡すことができますか?
答えはそうではありません。しかし、それはフレームで可能です。