[JS] Gegevens van het ene naar het andere venster.

Pagina: 1
Acties:

  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Ik heb een probleempje...

Ik heb 2 bestanden, index.html en test2.html. Nu wil ik in index.html een popup openen, dat is dan test2.html. Dan wil ik in test2 met javascript een array opbouwen (lukt ook al), en dan "onunload" de gegevens in index.html in een <select> knallen.

INDEX.HTML:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<HTML>
<HEAD>
  <TITLE>Index</TITLE>
  <script language="Javascript">
    window.name = "origineel";
  </script>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<form name="hiddenForm">
  <select name="id_kleur" size="1" style="width : 200px;">
    <option value='Rood'>Rood</option>
    <option value='Blauw'>Blauw</option>
    <option value='Paars'>Paars</option>
    <option value='Geel'>Geel</option>
    <option value='Groen'>Groen</option>
    <option value='Wit'>Wit</option>
  </select>
  <a href="#" onclick="window.open('test2.html','kopie')">Nieuw venster</a>
</form>
</BODY>
</HTML>

TEST2.HTML
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<HTML>
<HEAD>
  <TITLE>Untitled Document</TITLE>
  <script language="Javascript">
    var foreignkey = new Array("('')","('Hond')","('Kat')","('Muis')");
    document.write(origineel.document.hiddenForm.id_kleur.options[1].value);
    function fill_foreignkey() {
    for (var i=0; i < origineel.hiddenForm.id_kleur.length; i++) {
      origineel.hiddenForm.id_kleur.options[i] = null;
    }
    for (var i=0; i < foreignkey.length; i++) {
      eval("origineel.hiddenForm.id_kleur.options[i]=" + "new Option" + foreignkey[i]);
    }
    }
  </script>
</HEAD>

<BODY BGCOLOR="#FFFFFF" onunload="fill_foreignkey();">
</BODY>
</HTML>

Je moet ff niet op de rest letten, het gaat erom dat de gegevens uit test2.html dus in index.html komen. Dit is slechts de basis voor iets wat in een groter PHP-script ingebouwd gaat worden...

Wie helpt me uit de brand?

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

code:
1
window.opener.document.forms['formnaam'].selectnaam.options[i] = new Option(optiontext, optionvalue, false, false);

disclaimer: niet getest.

Intentionally left blank


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Als ik die probeer in IE6: dikke crash.....

Een andere oplossing?

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Niemand?

Ik heb de oplossing hierboven op 3 systemen met IE6 getest, en bij alledrie crasht IE....

Wie helpt me uit de brand?

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

Op vrijdag 04 januari 2002 10:49 schreef Skef het volgende:
Niemand?

Ik heb de oplossing hierboven op 3 systemen met IE6 getest, en bij alledrie crasht IE....

Wie helpt me uit de brand?
Define "crashed" - echt als in loopt vast en reageert niet meer? of krijg je een foutmelding?
Zal straks wel even testen in IE5 want volgens mij moet het wel zoiets zijn...

Intentionally left blank


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
crashed = AppName: iexplore.exe AppVer: 6.0.2600.0 ModName: mshtml.dll
ModVer: 6.0.2600.0 Offset: 00019f76

En dan zo'n fijne melding of er info naar Microsoft mag worden verzonden (IP-adres, Windows S/N, foutcode)... De ratten...

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Ik heb nu dit:

index.html :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <TITLE>Index</TITLE>
  <script language="Javascript">
    function open_window(pagina, hoogte, breedte) {
    var H = (screen.height - hoogte) / 2;
    var L = (screen.width - breedte) / 2;
    msgWindow = window.open(pagina,"msgWindow","status=no,scrollbars=no,resizable=no,height="+hoogte+",width="+breedte+",top="+H+",left="+L);
    if (!msgWindow.opener) msgWindow.opener = self; 
    }
  </script>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<form name="hiddenForm">
  <select name="blaat" size="1" style="width : 200px;">
    <option value='Rood'>Rood</option>
    <option value='Blauw'>Blauw</option>
    <option value='Paars'>Paars</option>
    <option value='Geel'>Geel</option>
    <option value='Groen'>Groen</option>
    <option value='Wit'>Wit</option>
  </select>
  <a href="#" onclick="open_window('test2.html',480,640)">Nieuw venster</a>
</form>
</BODY>
</HTML>

en test2.html :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
  <TITLE>Untitled Document</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF" onunload="fill_foreignkey();">
  <script language="Javascript">
    var foreignkey = new Array("('')","('Hond')","('Kat')","('Muis')");

    function fill_foreignkey() {
    for (var i=0; i < opener.document.hiddenForm.blaat.length; i++) {
      opener.document.hiddenForm.id_kleur.options[i] = null;
    }
    for (var i=0; i < foreignkey.length; i++) {
      eval("opener.document.hiddenForm.blaat.options[i]=" + "new Option" + foreignkey[i]);
    }
    }
  </script>
</BODY>
</HTML>

Hij crasht niet meer, maar nog steeds geen resultaat... Help...

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

De crash is een bug in IE als je vanuit een child een option wil toevoegen aan een select in een parent (wist ik ook niet). Dit is op te lossen door het toevoegen te laten doen door een functie in de parent zelf die aangeroepen wordt door de child.

Werkend voorbeeld:

test.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<HTML>
<HEAD>
  <TITLE>Index</TITLE>
  <SCRIPT language="JavaScript">
    function addOption(name, id) {
    document.hiddenForm.id_kleur.options[document.hiddenForm.id_kleur.length] = new Option(name, id, false);
    }
  </SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<form name="hiddenForm">
  <select name="id_kleur" size="1" style="width : 200px;">
    <option value="Rood">Rood</option>
    <option value="Blauw">Blauw</option>
    <option value="Paars">Paars</option>
    <option value="Geel">Geel</option>
    <option value="Groen">Groen</option>
    <option value="Wit">Wit</option>
  </select>
  <a href="javascript: void(null)" onclick="window.open('test2.html','kopie')">Nieuw venster</a>
</form>
</BODY>
</HTML>

test2.html
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<HTML>
<HEAD>
  <TITLE>Untitled Document</TITLE>
  <script language="Javascript">
    var foreignkey = new Array('','Hond','Kat','Muis');
    document.write(window.opener.document.hiddenForm.id_kleur.value);
    function fill_foreignkey() {
    for (var i=window.opener.hiddenForm.id_kleur.length; i >= 0; i--) {
      window.opener.hiddenForm.id_kleur.options[i] = null;
    }
    for (var i=0; i < foreignkey.length; i++) {
        window.opener.addOption(foreignkey[i], foreignkey[i]); 
    }
    }
  </script>
</HEAD>
<BODY BGCOLOR="#FFFFFF" onLoad="fill_foreignkey();">
</BODY>
</HTML>

Intentionally left blank


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Thanxx crisp, nou werkt ie!

Zelfs als ik er een onunLoad van maak... Helemaal top... En dan nu naar het meest ingewikkelde.... Het inpassen in de PHP :?

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:44

crisp

Devver

Pixelated

Oh ja, ik had er even onLoad van gemaakt om eventuele errors nog te kunnen zien :)

Intentionally left blank


  • Skef
  • Registratie: April 2001
  • Laatst online: 14-09 11:31

Skef

Ik scheer.me

Topicstarter
Ik ben het momenteel aan het "implanteren" in het grote php-script, maar ik loop toch tegen een aantal probleempjes aan.

Als ik window.opener gebruik, zegt ie vrolijk "Undefined"...

Is er ook een andere methode? (om dus direct de vensternamen te gebruiken, want die heb ik wel bij de hand)...

Hellup! (Volgens de planning moet het vandaag af.... :'( )

"Computer games don’t affect kids: I mean if Pac-Man affected us as kids, we’d all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

Pagina: 1