JS 대화 상자JS 모드 대화 상자 showModalDialog 사용법 요약

6764 단어
상위 창:
 
  



<br>function opendialog1() <br> { <br> var someValue=window.showModalDialog("b.html","","dialogWidth=500px;dialogHeight=500px;status=no;help=no;scrollbars=no"); <br> document.form1.p1t.value=someValue; <br> } <p></p> <p>









하위 창:
 
  



<br>function a() <br>{ <br>var wname = document.form1.backname.value; <br>parent.window.returnValue=wname; // <br> window.close(); <br>} <br>









---- 1. 기본 문법
---window 객체에는 showModalDialog라는 방법이 있는데, 페이지 버튼의 onclick에 다음과 같은 코드를 쓸 수 있습니다.
< BUTTON onclick="window.showModalDialog ('dialog.htm')">Search
----새 창에서 dialog가 열립니다.htm 페이지, 그리고 사용자 응답을 기다립니다. 만약 사용자가 이 페이지를 울리지 않으면 메인 페이지에 커서를 받지 못합니다.dialog에 있습니다.htm에서 window 대상의returnValue 속성을 설정하면 홈 페이지에 값을 되돌려줍니다.예를 들어, 페이지의 확인 버튼의 onclick에
window.returnValue = window. document.all.iptPeopleID.value
-- - 입력 상자 iptPeopleID의 값을 window 객체의 returnValue 속성에 지정합니다.홈 페이지에서 이 값을 얻을 수 있습니다: var str = showModalDialog ("dialog1.htm")
---- 2. 초기화 값 전송 -- 모드 페이지에 초기화 값을 전달하려면 홈 페이지에서 다음 문을 사용합니다.
var cSearchValue=showModalDialog('dialog.htm','ABC')는 dialog에 있습니다.htm에서 window를 사용합니다.dialogArguments 속성은'ABC'를 얻을 수 있습니다.예를 들어
---- 3. 여러 수치 전송 -- 모드 페이지에 여러 매개변수를 전달하려면 먼저 홈 페이지에서 객체를 정의합니다.
function myDialog() { var str1; var str2; }
-- - 모드 페이지를 표시하기 전에 객체를 초기화한 다음 showModalDialog 메서드를 호출합니다.function WelcomeYou(iniStr1,iniStr2) { myDialog.str1 = iniStr1; myDialog.str2 =iniStr2 ;
if(showModalDialog("dialog2.htm", myDialog)==false)//개체를 전송합니다.
----모드 페이지에서 이런 코드로 윈도우를 사용할 수 있습니다.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 yyyy'가 하위 창으로 전송하는 매개 변수 var xxx = ShowModalDialog('xxx.asp','yyy','dialogWidth:100px, DialogHeight=290px, status:no') 하위 창: dim yyy'가 부모 창으로 전송하는 매개 변수 dim xxxx'부모 창으로 전송하는 매개 변수 yyy = window.dialogArguments xxx = window.returnValue 
window.dialogArguments 사용 방법
Javascript는 대화상자를 만드는 여러 가지 내장된 방법이 있습니다. 예를 들어: window.alert(),window.confirm(),window.prompt().기다린다그러나 IE는 대화 상자를 지원하는 더 많은 방법을 제공합니다.예:
ShowModalDialog()(IE4+ 지원) ShowModelessDialog()(IE5+ 지원)
window.HTML 내용을 표시하는 모드 대화상자를 만드는 데 사용되는 ModalDialog () 방법은 대화상자이기 때문에 일반적으로 window를 사용하지 않습니다.open () 에서 열린 창의 모든 속성입니다.window.HTML 내용을 표시하는 비모드 대화 상자를 만드는 데 ShowModelessDialog () 방법이 사용됩니다.
ShowModelessDialog () 로 창을 열 때 window를 사용할 필요가 없습니다.close () 는 그것을 닫습니다. 비모드 (IE5) 로 열릴 때, 대화상자를 열 때, 대화상자가 항상 맨 위에 초점이 아니라, 대화상자를 열 때 URL이 바뀌면 자동으로 닫힙니다.모드[IE4] 방식의 대화상자는 항상 초점이 있습니다. 초점은 닫힐 때까지 옮길 수 없습니다.모드 대화상자는 창을 여는 것과 연결되어 있기 때문에 다른 창을 열 때 링크 관계는 여전히 저장되고 활성 창 아래에 숨겨집니다.
사용 방법은 다음과 같습니다. vReturnValue=window.showModalDialog(sURL[,vArguments][,sFeatures])vReturnValue=window.showModelessDialog(sURL[,vArguments][,sFeatures])
매개 변수 설명: sURL 필수 매개 변수, 유형: 문자열.대화 상자에 표시할 문서의 URL을 지정합니다.vArguments 옵션 매개변수, 유형: 변형.대화상자에 매개 변수를 전달하는 데 사용됩니다.전달된 매개 변수의 유형은 수조 등을 포함하여 제한되지 않습니다.대화상자가 window를 통과합니다.전달된 매개 변수를 가져오려면 dialogArguments를 사용하십시오.sFeatures 옵션 매개변수, 유형: 문자열.대화상자의 외관 등 정보를 설명하는 데 사용되며, 아래의 하나 또는 몇 개를 사용하여 분호로';'격리하다.dialogHeight 대화상자 높이는 100px보다 작지 않습니다. IE4에서 dialogHeight와 dialogWidth의 기본 단위는 em이고 IE5에서는 px입니다. 보기 편하도록modal 방식의 대화상자를 정의할 때 px로 단위를 설정합니다.dialogWidth:대화 상자 너비.dialogLeft: 데스크톱의 왼쪽 거리입니다.dialogTop: 데스크톱에서 떨어진 거리입니다.center: {yes|no|1|0}: 창이 가운데인지 여부입니다. 기본값으로 yes이지만 높이와 너비를 지정할 수 있습니다.help:{yes|no|1|0}:도움말 단추를 보일 지 여부, 기본 yes입니다.resizable: {yes|no|1|0} [IE5+]: 크기를 변경할 수 있는지 여부입니다.기본값 no.status: {yes|no|1|0} [IE5+]: 상태 표시줄을 보일 지 여부입니다.기본값은 yes[modeless] 또는 no[modal]입니다.scroll: {yes|no|1|0|on|off}: 대화상자에 스크롤 바가 표시되는지 여부를 표시합니다.기본값은 yes입니다.
그리고 몇 가지 속성은 HTA에 사용되며 일반적인 웹 페이지에서는 사용되지 않는다.dialogHide: {yes|no|1|0|on|off}: 미리 보기를 인쇄하거나 인쇄할 때 대화상자를 숨길지 여부입니다.기본값은 no입니다.edge: {sunken |raised}: 대화상자의 테두리 스타일을 표시합니다.기본값은 raised입니다.unadorned: {yes|no|1|0|on|off}: 기본값은 no입니다.
전송 매개 변수: 대화상자에서 매개 변수를 전달하려면 vArguments를 통해 전달합니다.유형은 제한되지 않으며 문자열 유형은 최대 4096자입니다.객체를 전달할 수도 있습니다. 예를 들면 다음과 같습니다.
test1.htm====================<br>varmxh1=newArray("mxh", "net lover", "맹자 E장") <br>varmxh2=window.open("about:blank","window_mxh")<br>//대화상자에 그룹 < 전달하기;br>window.showModalDialog("test2.htm",mxh1)<br>//대화상자에 window 대상 & lt 전달하기;br>window.showModalDialog("test3.htm",mxh2)<br>
test2.htm====================<br>vara=window.dialogArguments<br>alert ("당신이 전달한 매개 변수는:"+ a) <br>
test3.htm====================<br>vara=window.dialogArguments<br>alert ("당신이 전달한 매개 변수는 window 대상입니다. 이름:"+ a.name) & lt;br>
윈도우를 통해서returnValue는 대화 상자를 여는 창에 정보를 반환합니다. 물론 객체일 수도 있습니다.예를 들면 다음과 같습니다.
test4.htm===================<br>vara=window.showModalDialog("test5.htm")<br>for(i=0;i<a.length;i++)alert(a[i])<br>
test5.htm===================<br>functionsendTo()<br>{<br>vara=newArray("a","b")<br>window.returnValue=a<br>window.close()<br>}<br>
흔히 볼 수 있는 질문: 1, 어떻게 모드 대화상자에서 창을 새로 열지 않고 제출합니까?만약 브라우저가IE5라면5+, 대화상자에서name 속성이 있는 iframe을 사용할 수 있으며, 제출할 때 target을 이 iframe의name로 설정할 수 있습니다.IE4+에 대해 당신은 높이가 0인 프레임으로 예를 들 수 있습니다.
test6.htm===================<br>window.showModalDialog("test7.htm")<br>
test7.htm===================if(window.location.search)alert(window.location.search)
test8.htm===================<br>if(window.location.search)alert(window.location.search)<br>2, 통과 가능http://servername/virtualdirname/test.htm?name=mxh대화상자에 직접 매개 변수를 전달합니까?답은 안돼.프레임에서는 돼요.

좋은 웹페이지 즐겨찾기