27. maj 2009 - 11:00Der er
4 kommentarer og 1 løsning
Retunering af værdi fra popop fejler [Javascript i ASP .NET]
Hej eksperter
Jeg har en ASP tekstbox på min hoved side, som åbner et nyt vindue via javascript, når man klikker på den. Dette fungere udemærket, og for god ordens skyld viser jeg lige koden:
Hovedside java script: function popWin(llInp) { window.open("choosePicture.aspx","aa","width=600,height=700"); return false; }
I kan se at jeg har sat en alert i min mainValues function. Det er for at teste at javascriptet virker i popup. Hvis alert bliver sat neden under linjen der skal sende værdien tilbage (window.opener.parent.document.form1....) så kommer den ikke frem når der klikkes på boksen. Der hvor den står nu bliver der smidt en alert når der klikkes.
2 Spørgsmål flyder rundt i mit hoved: 1: Har jeg misset noget som gør at popup ikke retunere værdien korrekt
2: Hvis alert ikke kaldes efter førsøgt retunering, bliver den linje så overhovedet kaldt?
Det skal siges at hovedvinduet er bygget op med masterpage. Ved ikke om det har nogen virkning, men selve scriptet i begge tilfælde ligger i <head>
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Du må ikke referere til et element bare ved at skrive elementets id, det virker nemlig kun i IE. I stedet skal du bruge document.getElementById("id").
Hvad der ellers er galt ved jeg ikke, men din kode er rimeligt rodet.
Når det er sagt så er den måde du forsøger at lave user interface på helt forkert. Hold dig til et vindue, at dele et interface op på flere vinduer er forvirrende for brugeren. Du kan i nogle tilfælde bruge en falsk popup (en skjult div placeret oveni det andet indhold på siden som bliver synlig for at give en popup effekt), men det er nok endnu lige en tand over dit webprogrammeringsniveau.
Jeg har sidet og kæmpet lit med det selv og fandt mine fejl. Jeg lavede 2 ting forkert:
1: For det først targeted jeg form1 som den form jeg skulle retunere en værdi til. Det navn var forkert, det skulle være aspnetForm som navn.
2: Jeg ledte rundt omkring og fandt ud af FF er mere præcis i sin kode validering, og derskal skal man specificeret 100% hvad det er man vil referere til. Når jeg skulle retunere skulle jeg indsætte en .document før det virkede.
Altså min opener streng skulle se således ud: window.opener.parent.document.aspnetForm
Efter dette virkede retuneringerne og det hele.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.