[js] option toevoegen aan select in opener window

Pagina: 1
Acties:

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Ik heb een interface verzonnen, waar ik via een popup window, naar een gebruiker ga zoeken, de gebruiker selecteer en deze dan via een knop toe kan voegen aan een select lijstje in het hoofdwindow (de opener). Zo kan ik namelijk meerder gegevens verzamelen in een formulier en met een submit de hele zaak in een keer in de database proppen en dat het voor de gebruiker ook nog een beetje lekker werkt.

Ikke dit proberen zoals in onderstaande code (sorry voor de lap tekst. Ik heb het wel zo veel mogelijk ingekort tot de essentie, maar dit houd ik toch over en anders is het volgens mij niet meer duidelijk). Wat blijkt, het werkt niet... :'(

Ik ben niet zo ervaren met JavaScript, dus ik denk d'r zit vast een foutje in. Ikke debuggen, totdat ik een ons weeg. Op een gegeven moment (na een uur of vier), kom ik er achter dat het gewoon zou moeten werken, maar niet werkt. :( Ik kon namelijk wel een select lijstje vullen in hetzelfde window en ook een select lijstje leeg maken in de opener window. Leeg maken vind ik een zwaardere actie dan iets toevoegen, dus ik vind dat het moet werken. :7

Ikke proberen in Netscape 6.2 ipv IE (zowel 5.5 als 6.0). Werkt wel!

Maar ja, dat is nu dus een probleem. Eisen dat je Netscape gebruikt kan ik natuurlijk niet maken.
Is er wellicht iets waar ik toch gezondigd heb, en dat het daarom in IE mis gaat? Of is er een andere manier om hetzelfde te bereiken, zodat dit toch gaat werken in IE?

O ja, de error is ook lekker cryptisch:
De server heeft een uitzondering geretourneerd
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
opener.html

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function fOpenPopup () {
    winPopup=window.open ( '', winPopup, 'toolbar=no,width=500,height=500' );
    winPopup.focus();
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#F0F4F9" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0">
<FORM NAME="frmProject" METHOD="post" ACTION="submit.html">
<!--overige HTML code -->
<SELECT NAME="docent" SIZE="4" STYLE="width: 110"></SELECT><BR>
<A HREF="popup.html" TARGET="winPopup" onClick="fOpenPopup();">Nieuw</A>
<INPUT TYPE="submit" VALUE="Opslaan">
</FORM>
</BODY>
</HTML>


popup.html

<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function fVoegToe (  )
{
    if ( document.frmAddUser.user.selectedIndex != -1 )
    {
      userid = document.frmAddUser.userid[document.frmAddUser.userid.selectedIndex].value;
      name= document.frmAddUser.userid[document.frmAddUser.userid.selectedIndex].text;
      myLength = window.opener.document.frmProject.docent.length;
      window.opener.document.frmProject.docent.options[myLength] = new Option( name, userid );
      window.close();
    }
    else
    {
      alert ( 'Selecteer een gebruiker' );
    }
}
</SCRIPT>
<FORM NAME="frmAddUser">
<SELECT NAME="userid" SIZE="10">
<OPTION VALUE="1">Jan Janssen</OPTION>
<OPTION VALUE="2">Henk de Vries</OPTION>
<OPTION VALUE="3">Jan Klaassen</OPTION>
</SELECT><BR><BR>
<INPUT TYPE="button" VALUE="Voeg toe" onClick="fVoegToe();">
</FORM>
</BODY>
</HTML>

Team ColdFusion


  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Aangezien ik ook niet meer wist hoe het op te lossen, ben ik maar een workaround gaan zoeken.
Wat ik nu doe is schrijven vanuit de popup naar de value van een hidden text field in mijn opener window en dan een functie uitvoeren in dat opener window dat die waarde in de hidden text field weer als een optie aan de select toevoegt. Misschien dat iemand hier ooit nog wat aan heeft.

Team ColdFusion