---
title: "Infoga text från en popup till en annan"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/82573-infoga-text-från-en-popup-till-en-annan"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "speedy"
published: "2003-07-23T16:35:27.000Z"
updated: "2003-07-26T10:24:31.000Z"
replies: 7
views: 321
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/82573-infoga-text-från-en-popup-till-en-annan"
---

# Infoga text från en popup till en annan

## #1 — speedy, 2003-07-23T16:35Z

Jag har två stycken popuprutor där den ena skall kunna infoga text i ett textfält som finns i den andra.

Tidigare har jag använt denna kod för att infoga text i textfält på samma sida:

```
 
  function InsertText( text )
  {
    var TextArea = document.frmFormularnamn.txtTextFalt;
    if (TextArea)
    {
      TextArea.value += text + "";
      TextArea.focus();
    }
    return false;
  }
```

 

Jag har försökt att anpassa detta script men jag har inte lyckats att få det att fungera. Har ni några tips?

Permalänk: https://www.webforum.nu/p/82573

## #2 — Jojoxx, 2003-07-24T08:37Z

Ett exempel:

```
// Öppna ett fönster
var wina = window.open("","","width=300,height=300,left=0");
wina.document.open();
wina.document.write("<html><body><form name=\"myform\"><input type=\"text\" name=\"mytext\"></form></body></html>");
wina.document.close();

// Öppna ett fönster till
var winb = window.open("","","width=300,height=300,left=350");
winb.document.open();
winb.document.write("<html><body><a href=\"#\" onClick=\"window.opener.wina.document.myform.mytext.value='bla bla';\">Do it!</a></form></body></html>");
winb.document.close();
```

Svaret är alltså;

window.opener.**fönsterreferens**.document.**formulärsnamn**.**fältnamn**.value='bla bla';

Permalänk: https://www.webforum.nu/p/1117390

## #3 — speedy, 2003-07-24T11:18Z

Jag trodde man angav vilken referens ett fönster skulle ha genom att ange det i open("fonster.html", \<b\>"minreferens"\</b\>, "egenskaper") ...

Ditt sätt att skriva det på kan bli svårt eftersom öppnandet av fönstret och skrivandet av texten ligger i olika funktioner. 

Jag har testat följande kod:

```
  var win

  function openWindow(url) 
  {
    win = window.open(url, 'admin', 'width=700,height=600,menubar=0,status=1,scrollbars=1')
  }
  function InsertText( text )
  { 
    var TextArea = window.opener.win.document.frmNews.txtNewsText;
    if (TextArea)
    {
      TextArea.value += text + "";
      TextArea.focus();
    }
    return false;
  }
```

 
När jag testat det får jag bara medelande om att referensen till fönstret är null eller inget objekt.

Det konstiga är att jag använde motsvarande kod direkt ifrån fönstret där texten skall infogas och då fungerade det.

Permalänk: https://www.webforum.nu/p/1117490

## #4 — Cheguelin, 2003-07-24T11:51Z

Eftersom du har gjort en global funktion så blir det fel när du använder window.opener. Ta bort det.

Permalänk: https://www.webforum.nu/p/1117510

## #5 — speedy, 2003-07-26T09:45Z

tryckte visst enter för tidigt

Permalänk: https://www.webforum.nu/p/1121515

## #6 — speedy, 2003-07-26T09:52Z

Tyvärr har jag inte fått det att funka än :/ . 

Jag ska försöka beskriva vad jag försöker göra lite tydligare:

Jag har en sida som innehåller följande javascript kopplat till en knapp

```
  var win

  function openWindow(url) 
  {
    win = window.open(url, 'admin', 'width=700,height=600,menubar=0,status=1,scrollbars=1')
  }
```

 

När jag trycker på denna knapp kommer min första popup fram. Där finns ett formulär där man fyller i en nyhetstext. Sedan skall man kunna infoga bilder också varför det finns ytterligare en knapp som öppnar ett till fönster med alla bilderna listade.

den andra popuppen öppnas med:

```
  var fileWin
		
  function openFileWindow(url) 
 {
  fileWin = window.open(url, '', 'width=350,height=400,menubar=0,status=1,scrollbars=1')
  }
```

 

Mitt problem är att från min andra popup kunna infoga en text i formuläret i min första popup. Koden för detta ser i nuläget ut så här:

```
  function InsertText( text )
  {					
  var TextArea = win.document.frmNews.txtNewsText 
  if (TextArea)
  {
  TextArea.value += text + "";
  TextArea.focus();
  }
  return false;
  }
```

Det felemedelande jag får är alltså att "win" är odefinierat. Om jag istället använder "window.opener.win.document" som referens så får jag meddelande om att det är null eller inte är ett objekt.

Permalänk: https://www.webforum.nu/p/1121519

## #7 — Jojoxx, 2003-07-26T10:19Z

Jaha, trodde att båda popuperna öppnades från samma sida. Men förloppet är alltså att sidan öppnar en popup som i sin tur öppnar en till...

Men, du använder fortfarande window.opener för att referera till "moderfönstret", alltså det fönster som öppnade fönstret i fråga.

```
var TextArea = window.opener.document.frmNews.txtNewsText;
```

Förutsatt att formuläret heter "frmNews" och fältet "txtNewsText"

Kuriosa: *win* är inte definierad eftersom den härstammar i ett annat fönster och därmed en annan namespace. Skulle du kunna använda samma variabler i olika fönster skulle många script krocka eftersom man ofta har flera browserfönster öppna samtidigt.

Permalänk: https://www.webforum.nu/p/1121533

## #8 — speedy, 2003-07-26T10:24Z

Tack så mycket! Det funkar nu!

Permalänk: https://www.webforum.nu/p/1121535

---

Tråden på webben: https://www.webforum.nu/amne/javascript/82573-infoga-text-från-en-popup-till-en-annan
