[HTML/JS] form naar popup met frameset

Pagina: 1
Acties:
  • 182 views sinds 30-01-2008
  • Reageer

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
Ik heb een form, de resultaten wil ik versturen naar een popup, nu weet ik hoe dat moet, maar de popup bestaat uit een frameset (zoek_resultaten_popup.htm), en de resultaten wil ik in het mainframe hebben, in het bestand zoek_adv.php.
ik heb dit al geprobeert:

<form name ="doorstuur" action="zoek_resultaten_popup.htm" methode="post" target="mainFrame">

<form name="doorstuur" action="zoek_adv.php" methode="post" target="mainFrame">

Ik heb ook geprobeert met hiddenfields te werken bij de frameset, met :

onLoad="document.doorstuur.submit()"

maar dit alles werkt niet :( , ik begin er nu zelfs aan te twijfelen of het wel kan wat ik wil, :?
dus daarom post ik het hier :)

ps. search enzow allemaal gebruikt

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Verwijderd

wellicht van je frameset php bestand maken, en daarin
framesrc = "bestand.php?variabele=<? print ($variabele); ?>"

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Misschien wat een wat omslachtige manier, maar je zou het zo kunnen doen:

1) Popup openen
2) Wachten tot het document geladen is
3) De gegevens uit het form, naar bijv hidden fields (of wat anders) in de popupschrijven.

Het frame in de popup kun je gewoon net zo behandelen als andere frames.

objWindow.frames['frameName'].document.getElementById('elData').innerHTML = document.forms['formName'].elements['txtData'].value

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
r0bert schreef op 02 December 2002 @ 11:53:
Misschien wat een wat omslachtige manier, maar je zou het zo kunnen doen:

1) Popup openen
2) Wachten tot het document geladen is
3) De gegevens uit het form, naar bijv hidden fields (of wat anders) in de popupschrijven.

Het frame in de popup kun je gewoon net zo behandelen als andere frames.

objWindow.frames['frameName'].document.getElementById('elData').innerHTML = document.forms['formName'].elements['txtData'].value
ik heb al geprobeert met hiddenfields te werken, maar waar zou ik dan in de popup die hiddenfields moeten zetten, op elke manier die ik gebruik krijg ik of een error of geen reactie (gebeurt gewoon niets), waar moet ik dat form dan zetten :?
hier is m'n frameset
HTML:
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
<html>
<head>
<title>Catalogus</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
</head>
<frameset cols="480,*" frameborder="NO" border="0" framespacing="0">
  <frame name="leftFrame" scrolling="YES" noresize src="zoek_adv.php">
  <frameset rows="225,*" frameborder="NO" border="2" framespacing="2">
    <frame name="topFrame" scrolling="NO" noresize src="beschrijving.php" >
    <frame name="mainFrame" src="selectie.php">
  </frameset>
</frameset>
</body>
<noframes> 
<body bgcolor="#FFFFFF" text="#000000">
</body>
</noframes> 
</html>

ik heb al geprobeert de hiddenfields voor de frameset te zetten, ook erna, en erin, maar niets werkte ;(

Ps. voor juaron, aan die optie had ik nog niet gedacht, ik ga het nnu uitproberen :)

[ Voor 15% gewijzigd door EL_Loco op 03-12-2002 08:59 ]

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:01

RM-rf

1 2 3 4 5 7 6 8 9

laat onsubmit een nieuw window openen en geef dat een naam; je target van je form laat je verwijzen naar de naam van die popup:

code:
1
<form onsubmit="window.open('', 'theWindow')" target="'theWindow"


edit: niet duidelijk vraag gelezen,

wat je kunt proberen is het initieel te openen venster te openen met een lege frameset, waarin het frame 'Mainframe' al wel gedefinieerd is, mogelijk dat de target="'Mainframe" dan gewoon subit naar het frame, wat eveneens een window-object is.

je kunt echter eveneens in de pagina die in te laden is, met javascript de frameset zelf laten opbouwen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
if (!top.frames)
{
    document.write('<frameset rows="10,*">')
    document.write('<frame src="blaat.html">')
    document.write('<frame>')
}
....
if (!top.frames)
{
    document.write('</frame>')
    document.write('</frameset>')
}

[ Voor 65% gewijzigd door RM-rf op 03-12-2002 09:36 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
RM-rf schreef op 03 december 2002 @ 09:29:
laat onsubmit een nieuw window openen en geef dat een naam; je target van je form laat je verwijzen naar de naam van die popup:

code:
1
<form onsubmit="window.open('', 'theWindow')" target="'theWindow"


edit: niet duidelijk vraag gelezen,

wat je kunt proberen is het initieel te openen venster te openen met een lege frameset, waarin het frame 'Mainframe' al wel gedefinieerd is, mogelijk dat de target="'Mainframe" dan gewoon subit naar het frame, wat eveneens een window-object is.

je kunt echter eveneens in de pagina die in te laden is, met javascript de frameset zelf laten opbouwen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
if (!top.frames)
{
    document.write('<frameset rows="10,*">')
    document.write('<frame src="blaat.html">')
    document.write('<frame>')
}
....
if (!top.frames)
{
    document.write('</frame>')
    document.write('</frameset>')
}
dank voor de uitleg _/-\o_ * EL_Loco snapt het nu :)
toch ga ik het eerst volgens juaron's idee proberen dat is minder werk ;)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
dank aan allen voor de hulp, ik begon nml te denken dat het het niet kon, wat ik wilde.
maar het kan :)
Ps. voor diegene die dit topic gevonden heeft om hetzelfde probleem te proberen op te lossen.
ik heb het zow gedaan:
HTML:
1
2
3
4
5
6
7
<frameset cols="480,*" frameborder="NO" border="0" framespacing="0">
  <frame name="leftFrame" scrolling="YES" noresize src="zoek_adv.php?<? echo $adres_doorgeef; ?>">
  <frameset rows="225,*" frameborder="NO" border="2" framespacing="2">
    <frame name="topFrame" scrolling="NO" noresize src="beschrijving.php" >
    <frame name="mainFrame" src="selectie.php">
  </frameset>
</frameset>

PHP:
1
$adres_doorgeef= "art_nr=$s_art_nr&neuheit='$neuheit'&int_expr='$int_expr'&soort='$soort'&action='$action'" ;

de $s_art_nr komt omdat ik heb eerst het gecontroleerd op letters (eregi() ), anders kan je op deze manier een error krijgen omdat anders $art_nr tussen '' moet :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
ik stel hier nog maar een vraag omdat ik het niet nodig vind een nieuw toic te openen terwijl het over hetzelfde onderwerp gaat:
ik heb een functie gemaakt om een form in zo'n popup te versturen (zo'n ding zonder adresbalk enzow)
code:
1
2
3
4
5
6
7
8
9
function do_submit()
{
    art_nr = document.zoek.art_nr.value;
    neuheit = document.zoek.neuheit.value;
    int_expr = document.zoek.int_expr.value;
    soort = document.zoek.soort.value;
    action = document.zoek.action.value;
window.open("../zoek popup/zoek_resultaten_popup.php?art_nr="+art_nr+"&neuheit="+neuheit+"&int_expr="+int_expr+"&soort="+soort+"&action="+action+"","zoek","width=670,height=450");
}

do_submit() heb ik aan m'n submit knop vast geplakt met onClick. ( onclick="do_submit()" )
Maar in m'n form zitten selectvakken, en daarvan geeft hij de waarde niet door :( , nml alleen maar van hidden en text fields en knoppen :/ .
Hoe kan ik toch m'n select vakken meesturen :?
-edit-
hij geeft alleen art_nr (textfield) en action (hiddenfield) door, de rest zijn select-vakken

[ Voor 14% gewijzigd door EL_Loco op 03-12-2002 14:05 ]

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

zorgen dat de naam van de select een array is: mijnnaam[]

www.jurgroessen.nl


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
xal het proberen, maar mensen kunnen maar 1 ding aanklikken :? , maar, wie weet :)
ps. in php gaat het wel goed, het is alleen de doorvoer van JS

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
nope, nu krijg ik een foutmelding, dat hij een object verwacht, dus dat is het niet (of niet helemaal ;) )

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

oh, fok, ja... je moet de select nog ff opsplitsen in de geselecteerde waarde O-)

edit:
ff een hint:
code:
1
selectedOptionValue = what.options[what.selectedIndex].value;

[ Voor 39% gewijzigd door Hangloozz op 03-12-2002 14:33 ]

www.jurgroessen.nl


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
ik begrijp niet psies wat je bedoelt met opsplitsen in de geselecteerde waarde :?

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

de gekozen waarde van een select is niet direct opvraagbaar, die moet je eerst extraheren.
Dat doe je door de selectedIndex van die select op te vragen.

Check de volgende artikels ook ff voor meer duidelijkheid:

http://developer.irt.org/script/418.htm
http://developer.irt.org/script/887.htm
http://developer.irt.org/script/797.htm

www.jurgroessen.nl


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
dank, ik ga meteen lezen :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
ok, ik heb gelezen, maar het werkt nog voor geen meter :(
ik heb nu dit:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
var res_neuheit = null;
var res_int_expr = null;
var res_soort = null;

function do_submit()
{
art_nr = document.zoek.art_nr.value;
action = document.zoek.action.value;
window.open("../zoek popup/zoek_resultaten_popup.php?
art_nr="+art_nr+"&neuheit="+res_neuheit+"&int_expr="+res_int_expr+
"&soort="+res_soort+"&action="+action+"","zoek","width=670,height=450");
}

en dit
HTML:
1
2
3
4
5
<select onChange="res_neuheit = this[this.selectedIndex].value">
          <option selected>Geen Voorkeur</option>
          <option>Ja</option>
          <option>Nee</option>
</select>

dit is er maar 1, er zijn er in werkelijkheid 3.
Nu is mijn vraag:
wat doe ik hier nu fout :?
hij stuurt elke keer die nullwaarde door, hij ziet die onChange niet ;(
Ps do_submit() zit nogsteeds aan m'n submitknop :)

-edit- layout f*ckup :)

[ Voor 13% gewijzigd door EL_Loco op 06-12-2002 19:24 ]

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!


Verwijderd

Je moet de attribuut value meesturen in de option tag, dus <option value="Geen voorkeur">

  • EL_Loco
  • Registratie: Oktober 2001
  • Laatst online: 08-11-2023

EL_Loco

alias Haco

Topicstarter
|:( dat ik daar niet aan gedacht heb |:(
dank Martijn22 :)

rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!

Pagina: 1