Avatar billede extremecode Nybegynder
08. august 2006 - 08:01 Der er 8 kommentarer og
1 løsning

Kalder vindue med navn

Hej

Jeg har et vindue som f.eks hedder "test".
Dette vindue åbner en popup som indeholder noget formular værk.
Når man er færdig med denne formular og klikker ok.
åbner denne popup et ny vindue.

fra dette nye vindue som popuppen har åbnet, vil jeg gerne kalde det oprindelige vindue som åbnede popuppen, nemlig "test".

Hvordan gør jeg det?

Har prøvet med opener, men dette virker ikke da det jo er popuppen der har åbnet det sidste vindue og ikke "test".

Håber i kan følge mig...

Jeg har søgt overalt men har ikke lige kunne finde noget der virker.

Jeg har en nødløsning som består af at der er en form på den sidste side med en target attribut som hedder "test", og når brugeren så klikker på en knap i denne form bliver vinduet "test" kaldt.
Dog syntes jeg dette er lidt overkill.
Avatar billede Slettet bruger
08. august 2006 - 08:06 #1
Kan være vi skal se noget kode for at se hvad du mener?
Avatar billede fennec Nybegynder
08. august 2006 - 08:12 #2
Dvs du har en popup som åbner en popup??

så prøv med:
opener.opener.funk()
Avatar billede extremecode Nybegynder
08. august 2006 - 08:26 #3
ok...

Først åbnes der et popup med følgende script.

var newwin = null;
var oTest = {
mInit : function(){
  var sForm = document.getElementsByTagName("form");
  sForm[0].onsubmit = oTest.mPop;
},
mPop : function(){
  newwin = window.open('', 'popup','scrollbars,status,width=550,height=600');
  newwin.focus();
   
  if(!self.name) { self.name = 'test'; }
  if (!newwin.opener) { newwin.opener = self; }
   
  this.opener.value = self.name;
  return true;
}
}

Dette script åbner som sagt en popup som er på en https forbindelse.
formen i denne popup er
<form action="/test" method="post" target="test">
<input type="submit" value="returner til oprindelig vindue"/>
</form>

Dette skulle så sende forspørgelsen til den oprindelige vindue.

har lige kigget i IE og her virker det fint, men i FireFox åbner den et nyt vindue.
Har læst et  eller andet med at detter er noegt med sikkerhed at gøre!

men hvordan kommer jeg uden om dette?
Avatar billede extremecode Nybegynder
08. august 2006 - 11:10 #4
Har fundet en løsning som er brugbar.

Det går ud på at man via javascript laver en automatisk form submit.
det vil sige giver sin form et id f.eks. redirect
<form id="redirect" action="/test" target="test">
<input type="submit" value="send"/>
</form>

i javascript gør man så:

document.getElementById("redirect").submit();
Avatar billede olebole Juniormester
08. august 2006 - 12:25 #5
<ole>

9,8 ud af 10 webbrugere anvender en popup-blocker. Hos dem popper der ikke et nyt vindue op, hvis du submitter via JS og du bruger den viste kode. Iøvrigt giver det ikke mening at bruge target under XHTML  ;o)

/mvh
</bole>
Avatar billede extremecode Nybegynder
08. august 2006 - 18:50 #6
Nu åbnes der først et nyt vindue hvis brugeren klikker på et link, og dette bliver ikke blokeret af popupbloker.
Har testet i FF og Opera og IE med installeret popup-blocker.

Det er når formen i popup'en åbner et nyt vindue at denne automatisk skal submitte en form som kalder det oprindelige vindue og lukke popup.

Det med target har du fuldstændig ret i, det kan vist også angives i JS så vidt jeg visker =)
Avatar billede olebole Juniormester
09. august 2006 - 14:09 #7
Det er korrekt ... hvis et popup-vindue åbnes på en brugerhandling som et klik, blokkeres vinduet ikke.

Ja, du kan godt sætte et target med JS, men der er jo en grund til, man ikke kan angive targets under XHTML. Det vil stadig stride mod tanken bag at ekskludere targets i standarden, selvom disse sættes med JS  ;o)
Avatar billede extremecode Nybegynder
09. august 2006 - 19:13 #8
Det er helt korrekt...men da jeg ikke kan få den til at snakke med det gamle vindue på andre måde, kan jeg ikke se nogen anden vej uden om..

Dog kan jeg stadig ikke se meningen i at man ikke kan sætte via xhtml hvordan et vindue skal åbne eller hvor det skal pege hen.

For det er ikke særlig smart set usability-mæssigt da man ikke kan åbne et nyt vindue uden brug af JS.
og hvad hvis brugeren har slået JS fra???
Det er et spørgsmål som er diskuteret i bred udstrækning af designere. Der er både for og i mod.

Men sådan vil det jo nok altid være.
Avatar billede olebole Juniormester
11. august 2006 - 09:19 #9
Årsagen er nok, at man ønsker at tvinge designere til at designe til den virkelighed, de lever i ... ikke kun til PC-browsere  ;o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester