아버지의 창 :
다음과 같이 코드 코드를 복사하십시오.
<html>
<헤드>
<title> 비 -타이틀 페이지 </title>
<script language = "javaScript"type = "text/javaScript">
함수 opendialog1 ()
{{
var somevalue = widow.showmodaldialog ( "b.html", "", "dialogwidth = 500px; dialogheight = 500px; status = no; help = no; scrollbars = no");
document.form1.p1t.value = thevalue;
}
</스크립트>
</head>
<body>
<form name = "form1"action = "#">
<입력 유형 = "텍스트"이름 = "p1t">
<입력 유형 = "버튼"value = "대화 상자 열기"onclick = "opendialog1 ()">
</form>
</body>
</html>
하위 -바람 :
다음과 같이 코드 코드를 복사하십시오.
<html>
<헤드>
<title> 비 -타이틀 페이지 </title>
<script language = "javaScript"type = "text/javaScript">
기능 a ()
{{
var wname = document.form1;
parent.window.returnvalue = wname; // 부모 창은 이전 페이지입니다
Window.Close ();
}
</스크립트>
</head>
<body>
<form name = "form1"action = "">>
<입력 유형 = "text"value = "전달하려면 값을 입력하십시오.
<입력 유형 = "버튼"value = "pass"onclick = "return a ()">
</form>
</body>
</html>
---- 1. 기본 문법
---- Window 객체에는 ShowModalDialog라는 메소드가 있습니다.
<버튼 onclick = "window.showmodaldialog
( 'dialog.htm') "> 검색 < /button>
---- 시스템은 새 창에서 Dialog.htm 페이지를 열고 사용자가 페이지에 응답하지 않으면 홈페이지가 커서를 얻지 못합니다.
---- Window 객체의 returnValue 속성을 Dialog.htm에서 설정하여 홈페이지가 반환 값을 얻을 수 있도록합니다. 예를 들어, 페이지의 결정된 버튼의 on 클릭을 기록하십시오.
window.returnValue = 창
document.all.itpeoplid.value
---- 입력 상자의 값을 창고 객체의 returnValue 속성에 권한을 부여합니다. 이 값은 홈페이지에서 얻을 수 있습니다.
var str = showmodaldialog ( "dialog1.htm")
---- 2. 초기화 값을 전달하십시오
---- 초기 값을 모달 페이지로 전달하려면 홈페이지에서 다음 문장을 사용할 수 있습니다.
var csearchvalue = showmodaldialog
( 'dialog.htm', 'abc')
dialog.htm에서 window.dialogarguments를 사용하십시오
속성은 'ABC'를 얻을 수 있습니다. 예를 들어:
<script for = window event = knowledge = "jscript">
if (window.dialogarguments! = null)
window.document.all.iptpeoplid.value = window.dialogarguments;
< /스크립트>
---- 3. 여러 값을 전달합니다
---- 여러 매개 변수를 모달 페이지에 전달하려면 먼저 홈페이지에서 개체를 정의 할 수 있습니다.
함수 myDialog () {
var str1;
var str2;
}
---- 모듈 식 페이지를 표시하기 전에 대상을 표시 한 다음 Showmodaldialog 방법을 호출하십시오.
기능을 환영합니다 (inistr1, inistr2) {{
mydialog.str1 = inistr1;
mydialog.str2 = inistr2;
ifmodaldialog ( "dialog2.htm", mydialog)
== 거짓) //
... ...
---- 모델 페이지 에서이 코드를 사용할 수 있습니다.
Window.document.all.iptid.value =
Window.dialogarguments.str1
값을 인용 하거나이 코드를 사용하여 값을 할당하십시오.
Window.dialogarguments.str1 =
Window.document.all.iptid.Value
---- 완전한 루틴은 다음과 같습니다.
---- 하나의 매개 변수에 대해서는 main1.htm 및 dialog1.htm을 참조하십시오.
---- 여러 매개 변수를 전달하는 상황은 main2.htm 및 dialog2.htm을 참조하십시오.
아버지 창 :
Dim XXX '리턴 값
Dim YYY '매개 변수가 어린이 창으로 전달되었습니다
var xxx = showmodaldialog ( 'xxx.asp', 'yyy', 'dialogwidth : 100px; dialogheight = 290px; 상태 : 아니오')
하위 -바람 :
아버지 창에서 Dim Yyy의 매개 변수
아버지 창의 xxx 매개 변수를 어둡게합니다
yyy = window.dialogarguments
xxx = Window.returnValue
Window.dialogarguments의 사용
JavaScript에는 다음과 같은 대화 상자를 생성하는 많은 내장 메소드가 있습니다. Window.Alert (), window.confirm (), window.prompt (). 그러나 IE는 대화 상자를 지원하는 더 많은 방법을 제공합니다. 좋다:
showmodaldialog () (IE4+지원)
showmodelessDialog () (IE5+지원)
Window.showmodaldialog () 메소드는 대화 상자이기 때문에 HTML 컨텐츠를 표시하는 모듈 식 대화 상자를 작성하는 데 사용됩니다.
window.showModelessDialog () 메소드는 HTML 컨텐츠를 표시하는 비 모달 대화 상자를 만드는 데 사용됩니다.
showmodelessDialog ()로 창을 열면 Window.close ()를 사용하여 비 모드 형식 [IE5]이 열리면 대화 상자의 창이 여전히 다른 작업을 수행 할 수 있습니다. 대화 상자가 항상 동일하지는 않습니다. Modal [IE4] 메소드의 대화 상자에는 항상 초점이 있습니다 (초점을 닫을 때까지 초점을 제거 할 수 없습니다). 모달 대화 상자는 창의 창에 연결되어 있으므로 다른 창을 열면 링크 관계가 여전히 이벤트 창 아래에 보존되고 숨겨져 있습니다.
사용 방법은 다음과 같습니다.
vreturnvalue = window.showmodaldialog (surl [, varguments] [, sfeatures])))
vreturnvalue = window.showmodelessDialog (surl [, varguments] [, sfeatures])))))
매개 변수 설명 :
SURL
해야 할 -Choose 매개 변수, 유형 : String. URL은 대화 상자에 표시 할 문서를 지정하는 데 사용되었습니다.
varguments
선택적 매개 변수, 유형 : 변형. 대화 상자에 매개 변수를 전달하는 데 사용됩니다. 배열 등을 포함하여 통과하는 매개 변수 유형은 제한되지 않습니다. 대화 상자는 Window.dialogarguments를 통해 전달되는 매개 변수를 얻습니다.
sfeatures
선택적 매개 변수, 유형 : 문자열. 대화 상자의 외관 및 기타 정보를 설명하는 데 사용되며 아래에서 하나 이상을 사용하고 분리 할 수 있습니다. "
대화 상자 상자 높이, 100px 이상, IE4의 DialogHeight 및 Dialogwidth는 EM이고 IE5는 PX이며 모달 방법이 PX를 장치로 사용하는 데 편리합니다.
Dialogwidth : 대화 상자 너비.
Dialogleft : 데스크탑 왼쪽에서 거리.
DIALOGTOP : 데스크탑에서의 거리.
중앙 : {예 |. 1 |.
도움말 : {예 |.
RESINGable : {예 |. 기본 번호.
상태 : {예 |. 기본값은 예 [modeless] 또는 아니오 [modal]입니다.
스크롤 : {예 | 0 |. 기본값은 예입니다.
HTA에는 일반적으로 일반 웹 페이지에서 사용되지 않는 몇 가지 속성이 있습니다.
Dialoghide : {예 : 0 |. 기본값은 아니오입니다.
가장자리 : {Sunken |.} : 대화 상자의 프레임 스타일을 나타냅니다. 기본값은 인상됩니다.
{예 : 0 |.
PASS 매개 변수 :
대화 상자의 매개 변수를 전달하려면 varguments를 통과합니다. 문자열 유형의 경우 유형은 제한되지 않습니다. 최대 값은 4096 자입니다. 다음과 같은 개체를 전달할 수도 있습니다.
test1.htm
==================
<cript>
varmxh1 = newArray ( "mxh", "net_lover", "Mencius e 챕터")
varmxh2 = window.open ( "about : blank", "window_mxh")
// 대화 상자에 배열을 보냅니다
Window.showmodaldialog ( "test2.htm", mxh1)
// 대화 상자에 윈도우 객체를 전송합니다
Window.showmodaldialog ( "test3.htm", mxh2)
</스크립트>
test2.htm
==================
<cript>
vara = window.dialogarguments
ALERT ( "전달한 매개 변수는 다음과 같습니다."+a)
</스크립트>
test3.htm
==================
<cript>
vara = window.dialogarguments
ALERT ( "전달한 매개 변수는 Window Object, Name :"+A.Name)입니다.
</스크립트>
정보를 Window를 통해 대화 상자의 창으로 되돌릴 수 있습니다. 물론 객체가 될 수도 있습니다. 예를 들어:
test4.htm
==================
<cript>
vara = window.showmodaldialog ( "test5.htm")
for (i = 0; i <a.length; i ++) 경고 (a [i])
</스크립트>
test5.htm
==================
<cript>
functionsendto ()
{{
vara = newaray ( "a", "b")
Window.ReturnValue = a
Window.Close ()
}
</스크립트>
<body>
<양식>
<inputValue = "type = buttononClick ="sendto () ">
</form>
일반적인 문제 :
1. 새 창을 열지 않고 모달 대화 상자에 제출하는 방법은 무엇입니까?
브라우저가 ie5.5+인 경우 대화 상자에 이름 속성이있는 iframe을 사용할 수 있으며 제출 시점에 Target의 이름을 iframe로 공식화 할 수 있습니다. IE4+의 경우 0에서 프레임의 높이를 사용할 수 있습니다.
test6.htm
==================
<cript>
Window.showmodaldialog ( "test7.htm")
</스크립트>
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 = 제출>
</form>
<cript>
if (window.location.search) Alert (Window.location.search)
</스크립트>
2. http : //servername/virtualdirname/test.htm을 통해 매개 변수를 대화 상자에 직접 전달할 수 있습니까?
대답은 아닙니다. 그러나 프레임에서는 가능합니다.