<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    ?? 在b\s系統(tǒng)中,用戶經(jīng)常需要打開子窗口選中某些項目,并將這些項目插入到父窗口的下拉選框中。本來以為在IE中實現(xiàn)這樣子窗口操作父窗口的功能十分簡單,但是按常規(guī)的做法卻是行不通的。在google上搜索了一陣也沒有好的解決方案。最后看到國外的一個網(wǎng)頁上有以下內(nèi)容:

    Explorer 5.0 problems

    When it comes to dynamically generating options and selects, Explorer 5.0 on Windows has quite a few problems:

    1. Generating options in another frame or window doesn't work. Put the script in the page that contains the select. I have heard, but did not test, that this problem still exists in Explorer 6.0
    2. Generating selects and options through the 'pure' W3C DOM (ie. with any document.createElement()) crashes Explorer 5.0 . Solved in 5.5
      Generate these selects and options through innerHTML instead.
    3. Generating options from a popup window may crash any Explorer Windows.

    I have heard, but did not test, that the script below works fine in IE 5.0:

    var?doc?=?select.ownerDocument;
    if?(!doc)
    ????doc?
    =?select.document;
    var?opt?=?doc.createElement('OPTION');
    opt.value?
    =?value;
    opt.text?
    =?text;
    select.options.add(opt,?index);

    ??? 最后得到了啟發(fā),從而實現(xiàn)了這個功能,下面所有可能用到的實現(xiàn)方法的代碼。但是在這些代碼中有些方法是不可行的。最后有一個表格說明了哪些方法不可行,理由是什么?

    HTMLPage.htm

    <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html?xmlns="http://www.w3.org/1999/xhtml"?>
    <head>
    ????
    <title>1st</title>
    ????
    <script?language="javascript">
    ????
    function?AddOpt(text,val)
    ????
    {
    ????????
    var?slct?=?document.getElementById("Select1");
    ????????
    var?op?=?new?Option(text,val);
    ????????slct.add(op);
    ????}

    ????
    </script>
    </head>
    <body>
    <form?id="form1"?name="form1">
    ????
    <select?id="Select1"?multiple="multiple">
    ????????
    <option?selected="selected"?value="1">1</option>
    ????????
    <option?value="2">2</option>
    ????????
    <option?value="3">3</option>
    ????????
    <option?value="4">4</option>
    ????
    </select>
    ????
    <br?/>
    ????
    <input?id="showModalDialogWithoutArg"?type="button"?value="showModalDialogWithoutArg"?onclick="window.showModalDialog('HTMLPage2.htm');"/>
    ????
    <br?/>
    ????
    <input?id="showModalDialogWithArg"?type="button"?value="showModalDialogWithArg"?onclick="window.showModalDialog('HTMLPage2.htm',?window);"/>
    ????
    <br?/>
    ????
    <input?id="showModelessDialogWithoutArg"?type="button"?value="showModelessDialogWithoutArg"?onclick="window.showModelessDialog('HTMLPage2.htm');"/>
    ????
    <br?/>
    ????
    <input?id="showModelessDialogWithArg"?type="button"?value="showModalDialogWithArg"?onclick="window.showModelessDialog('HTMLPage2.htm',?window);"/>
    ????
    <br?/>
    ????
    <input?id="open"?type="button"?value="open"?onclick="window.open('HTMLPage2.htm');"/>
    </form>
    </body>
    </html>

    ?HTMLPage2.htm

    <!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html?xmlns="http://www.w3.org/1999/xhtml"?>
    <head>
    ????
    <title>2nd</title>
    ????
    <script?language="javascript">
    ????
    function?InsertToParent()
    ????
    {
    ????????
    var?slct?=?window.parent.document.getElementById("Select1");
    ????????
    ????????doc?
    =?slct.ownerDocument;
    ????????
    var?opt?=?doc.createElement('OPTION');
    ????????opt.value?
    =?"2nd?窗口";
    ????????opt.text?
    =?"2nd?窗口";
    ????????slct.options.add(opt);
    ????}

    ????
    ????
    function?InsertToOpener()
    ????
    {
    ????????
    var?slct?=?window.opener.document.getElementById("Select1");
    ????????
    ????????doc?
    =?slct.ownerDocument;
    ????????
    var?opt?=?doc.createElement('OPTION');
    ????????opt.value?
    =?"2nd?窗口";
    ????????opt.text?
    =?"2nd?窗口";
    ????????slct.options.add(opt);
    ????}

    ????
    ????
    function?InsertToTop()
    ????
    {
    ????????
    var?slct?=?window.top.document.getElementById("Select1");
    ????????
    ????????doc?
    =?slct.ownerDocument;
    ????????
    var?opt?=?doc.createElement('OPTION');
    ????????opt.value?
    =?"2nd?窗口";
    ????????opt.text?
    =?"2nd?窗口";
    ????????slct.options.add(opt);
    ????}

    ????
    ????
    function?InsertByParentFun()
    ????
    {
    ????????
    var?wnd?=?window.parent;
    ????????wnd.AddOpt(
    "2nd?窗口","2nd?窗口");
    ????}

    ????
    ????
    function?InsertByOpenerFun()
    ????
    {
    ????????
    var?wnd?=?window.opener;
    ????????wnd.AddOpt(
    "2nd?窗口","2nd?窗口");
    ????}

    ????
    ????
    function?InsertByTopFun()
    ????
    {???????
    ????????
    var?wnd?=?window.top;
    ????????wnd.AddOpt(
    "2nd?窗口","2nd?窗口");
    ????}

    ????
    ????
    function?InsertByArgFun()
    ????
    {
    ????????
    var?wnd?=?window.dialogArguments;
    ????????wnd.AddOpt(
    "2nd?窗口","2nd?窗口");
    ????}

    ????
    ????
    function?InsertWithArg()
    ????
    {
    ????????
    var?wnd?=?window.dialogArguments;
    ????????
    var?doc?=?wnd.document;
    ????????
    var?slct?=?doc.getElementById("Select1");
    ????????
    ????????doc?
    =?slct.ownerDocument;
    ????????
    var?opt?=?doc.createElement('OPTION');
    ????????opt.value?
    =?"2nd?窗口";
    ????????opt.text?
    =?"2nd?窗口";
    ????????slct.options.add(opt);
    ????}

    ????
    </script>
    </head>
    <body>
    ????
    <input?id="InsertToParent"?type="button"?value="InsertToParent"?onclick="InsertToParent()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertToOpener"?type="button"?value="InsertToOpener"?onclick="InsertToOpener()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertToTop"?type="button"?value="InsertToTop"?onclick="InsertToTop()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertByParentFun"?type="button"?value="InsertByParentFun"?onclick="InsertByParentFun()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertByOpenerFun"?type="button"?value="InsertByOpenerFun"?onclick="InsertByOpenerFun()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertByTopFun"?type="button"?value="InsertByTopFun"?onclick="InsertByTopFun()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertByArgFun"?type="button"?value="InsertByArgFun"?onclick="InsertByArgFun()"?/>
    ????
    <br?/>
    ????
    <input?id="InsertWithArg"?type="button"?value="InsertWithArg"?onclick="InsertWithArg()"?/>
    </body>
    </html>

    ?

    方法表格

    showModalDialogWithoutArg

    InsertToParent

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertToOpener

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertToTop

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByParentFun

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertByOpenerFun

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertByTopFun

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByArgFun

    不能實現(xiàn)

    沒有傳送參數(shù)給子窗口

    InsertWithArg

    不能實現(xiàn)

    沒有傳送參數(shù)給子窗口

    showModalDialogWithArg

    InsertToParent

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertToOpener

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertToTop

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByParentFun

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertByOpenerFun

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertByTopFun

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByArgFun

    可以實現(xiàn)

    ?

    InsertWithArg

    可以實現(xiàn)

    ?

    showModelessDialogWithoutArg

    InsertToParent

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertToOpener

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertToTop

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByParentFun

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertByOpenerFun

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertByTopFun

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByArgFun

    不能實現(xiàn)

    沒有傳送參數(shù)給子窗口

    InsertWithArg

    不能實現(xiàn)

    沒有傳送參數(shù)給子窗口

    showModelessDialogWithArg

    InsertToParent

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertToOpener

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertToTop

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByParentFun

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertByOpenerFun

    不能實現(xiàn)

    子窗口opener屬性為空

    InsertByTopFun

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByArgFun

    可以實現(xiàn)

    ?

    InsertWithArg

    可以實現(xiàn)

    ?

    open

    InsertToParent

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertToOpener

    可以實現(xiàn)

    ?

    InsertToTop

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByParentFun

    不能實現(xiàn)

    子窗口parent屬性為子窗口自身

    InsertByOpenerFun

    可以實現(xiàn)

    ?

    InsertByTopFun

    不能實現(xiàn)

    子窗口top屬性為子窗口自身

    InsertByArgFun

    不能實現(xiàn)

    open方法不能在窗口間傳遞參數(shù)

    InsertWithArg

    不能實現(xiàn)

    open方法不能在窗口間傳遞參數(shù)



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1089313

    posted on 2006-09-07 12:39 SIMONE 閱讀(617) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久一区二区三区免费| 国产亚洲玖玖玖在线观看| 国产伦精品一区二区三区免费下载 | 亚洲中文字幕在线第六区| 亚洲国产成人久久精品大牛影视| 很黄很色很刺激的视频免费| 国产免费人视频在线观看免费| 美女视频黄免费亚洲| 日本三级2019在线观看免费| 亚洲成AV人综合在线观看| 成人特级毛片69免费观看| 午夜国产大片免费观看| 国产精品亚洲天堂| 69xx免费观看视频| 亚洲国产日韩在线成人蜜芽| 色se01短视频永久免费| 亚洲综合一区国产精品| 免费涩涩在线视频网| 爱情岛论坛亚洲品质自拍视频网站| 四虎国产精品永久免费网址 | 日韩免费一区二区三区在线| 亚洲第一男人天堂| 啦啦啦www免费视频| 国产亚洲欧美在线观看| 亚洲人成国产精品无码| 女同免费毛片在线播放| 免费一级国产生活片| h视频免费高清在线观看| 亚洲VA中文字幕无码毛片 | 一个人看的www免费高清 | 亚洲中字慕日产2021| 在线观看免费宅男视频| 青青久久精品国产免费看 | 久久亚洲精品人成综合网| 一二三四在线观看免费高清中文在线观看| 久久久久久亚洲精品影院| 亚洲精品国精品久久99热| 久久久久久夜精品精品免费啦| 亚洲 日韩 色 图网站| 亚洲午夜日韩高清一区| xxxx日本免费|