Toon posts:

[JS] Formulier in popup wijzigen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste ,

ik ben bezig met een applicatie. Hierin wordt een popup geopend met daarin een formulier.
Van dit formulier wil ik (als de popup wordt geopend) bepaalde velden alvast invullen.
Ik heb al vanalles geprobeerd, maar ik krijg het maar niet voor elkaar.. :(

Dit is mijn code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function plaats_vacature()
{
theSelection = document.selection.createRange().text;
    if(theSelection == "")
    {
    alert("U heeft geen tekst geselecteerd en u kunt dus geen aanvraag toevoegen");
    }
    else
    {
    windowWidth = 800;
    windowHeight = 600;
    pleft = (screen.width  / 2) - (windowWidth  / 2);
    ptop  = (screen.height / 2) - (windowHeight / 2);
    venster = window.open('pop_add_vacature.php', '', 'width=' + windowWidth + ', height=' + windowHeight + ', left=' + pleft + ', top=' + ptop + ', toolbar=false, location=false, menubar=false, resizable=false, scrollbars=1', false);
    venster.document.forms[formulier].elements[salaris].value = "test";
    }
}


Ik kan wel andere dingen wijzigen in de popup (bijv. de tekst in de statusbalk) & document.write erin werkt ook gewoon vanuit de originele pagina.. Wie kan mij helpen?

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 23-09 18:21

Sebazzz

3dp

Document.GetElementById()?

edit: Je kan beter met die functie dingen aanroepen, werkt veel beter en ook cross-browser. Check voor de grap eens het Javascript console (Firefox).

[ Voor 74% gewijzigd door Sebazzz op 22-02-2008 18:46 ]

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik zie dat je PHP gebruikt; waarom geef je die waarden dan niet alvast mee door aan je PHP bestand? Dan kan die mooi een pop-up uitpoepen met de velden vooraf ingevuld.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • 7.01D
  • Registratie: Oktober 2006
  • Laatst online: 28-08-2009

7.01D

Smells Like Team America

Sebazzz schreef op vrijdag 22 februari 2008 @ 18:45:
Document.GetElementById()?

edit: Je kan beter met die functie dingen aanroepen, werkt veel beter en ook cross-browser. Check voor de grap eens het Javascript console (Firefox).
Je zult dan wel document.getElementById() bedoelen (case sensitive).

@bundy-united:
Waarschijnlijk zit het probleem erin dat het formulier nog niet (helemaal) geladen is wanneer je de veldwaarden probeert te wijzigen. Zoals RobIII al aangaf kun je het misschien beter door PHP af laten handelen, of je moet eerst checken of de DOM van je popup al geladen is. Je kunt in je popup bv. met window.onload een functie in je opener (originele venster) aanroepen die vervolgens de velden invult.

-- einde bericht --


Acties:
  • 0 Henk 'm!

  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 31-07 07:18
Verwijderd schreef op vrijdag 22 februari 2008 @ 18:41:
Dit is mijn code:

code:
1
venster.document.forms[formulier].elements[salaris].value = "test";
Je gebruikt hierboven de variabelen formulier en salaris. Ik denk dat je op die plek de strings "formulier" en "salaris" had willen gebruiken.

code:
1
venster.document.forms["formulier"].elements["salaris"].value = "test";


Om te kijken of je code het probleem is, of dat het formulier nog niet geladen is op het moment dat de code wordt uitgevoerd, is het het handigst als je in je pagina een link plaatst waarmee je het formulier kunt vullen.

code:
1
<a href="#" onclick="venster.document.forms['formulier'].elements['salaris'].value = 'test';">Click</a>


Eerst maak je de link werkend, daarna ga je kijken of je de code al direct kunt uitvoeren, of dat je met een onload in de popup moet gaan werken.

Aha, zo te zien moet je altijd met een onload werken:

http://developer.mozilla....M:window.open#Description
Note that remote URLs won't load immediately. When window.open() returns, the window always contains about:blank. The actual fetching of the URL is deferred and starts after the current script block finishes executing.

[ Voor 16% gewijzigd door f.v.b op 24-02-2008 10:51 ]

Don't erase all files?
       [Yes]   [No]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de tips, maar ik heb het inmiddels anders opgelost; ik lees de selectie in het originele venster gewoon in de pop-up uit via JS.

Waarom ik het niet met PHP gedaan heb? Omdat er af en toe grote lappen tekst inzitten, welke de GET-variabelen niet aankunnen.. Blijkbaar
Pagina: 1