Toon posts:

[Servlet + JS] Form Submit in Popup

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

Verwijderd

Topicstarter
Een htmlpage (gegenereert vanuit een servlet) returned wat data na een submit. De gereturnde data komt weer uit een ander servlet, en moet worden weergegeven in een popup.

Op het moment heb ik hiervoor de volgende code:
code:
1
<form action=\"http://bladiebla/SQLStatement\" name=\"kaartpop\" onsubmit=\"document.kaartpop.target = 'popup.htm' ;return true;

Deze code heeft 2 problemen:
-hij opent dan wel een een nieuw venster, maar dit venster heeft gewoon scrollbars, een navigatiebar, enz enz. En dat moet niet.

-de onsubmit stuurt de data nu naar "popup.htm". Dat is een probeem, want die file bestaat niet. Sterker nog, er bestaat helemaal geen htm file, want de page wordt gegenereert uit een servlet.

Dus:
Hoe zorg ik ervoor dat de submit in een "javascript window" wordt gereturneert?

edit: de \'s die in de code staan zijn escape sequences voor Java

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Zoek eens op

"submit naar popup" ofzo.. want het is al heel wat keer eerder voorbij gekomen :)

Zo maar ff twee:

[topic=331868/1/25]
[topic=183506/1/25]

Verwijderd

Topicstarter
Oke, ik heb nu de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"<html>\n" +
      "<head>\n" +
      "<body bgcolor=\"#EAEAEA\">" +
      "<script>\n" +
      
      "function submitPopup(form) { \n" +
      "window.open(\"SQLStatement\", \"width=200,height=400\");\n" +
      "return false; \n" +
      "}\n" +
      
      "</script>\n" +
      "<center>" +
      "<title>KaartBeeld</title>\n" +
      "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n" +
      "</head>\n" +
      "<body bgcolor=\"#CCCCCC\">\n" +
      "<form action=\"http://bladiebla:8080/SQLStatement\" onsubmit=\"return submitPopup(this)\">\n" +
      "<input type=\"image\" name=\"imagecenter\" value=\"Submit\" src=\"" + imgURL + "\" alt=\"Click!\" border=\"0\" width=\"" + width + "\" height=\"" + height + "\">\n" +
      "<td valign=\"top\"><div align=\"center\">\n" +
enz enz

Nu krijg ik iedere keer "invalid argument in line 5". Wat is er nu nog fout dan?

ps.
again, de \en \n en + is Java-code

Verwijderd

Topicstarter
Ey mensen, zo'n lastig probleem is dit toch niet?

Verwijderd

Op vrijdag 17 mei 2002 11:10 schreef beurdy het volgende:
Ey mensen, zo'n lastig probleem is dit toch niet?
Klopt, window.open heeft 3 arguments: URI, windowName en windowFeatures.
Jij geeft er maar 2, je moet ook de url nog opgeven, dat mag een empty string ("") zijn.

http://developer.netscape.com/docs/manuals/js/client/jsref/window.htm#1202731

Verwijderd

Topicstarter
oke, geweldig, dat werkt... maar nu:

Deze popup wordt geopend, maar er moeten via GET een aantal parameters mee. Opzich geen probleem, die zet je achter de url (bladiebla?var1=var1 enz enz)

Maar, de input komt vanaf een submitbutton, en een submitbutton kan coordinaten meergeven, en deze moeten dus ook meegegeven worden. Hoe zorg ik ervoor dat deze coordinaten ook in de url komen? MAW hoe vertel ik een javascript dat ie variablen achter de URL moet zetten?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op vrijdag 17 mei 2002 12:35 schreef beurdy het volgende:
oke, geweldig, dat werkt... maar nu:

Deze popup wordt geopend, maar er moeten via GET een aantal parameters mee. Opzich geen probleem, die zet je achter de url (bladiebla?var1=var1 enz enz)

Maar, de input komt vanaf een submitbutton, en een submitbutton kan coordinaten meergeven, en deze moeten dus ook meegegeven worden. Hoe zorg ik ervoor dat deze coordinaten ook in de url komen? MAW hoe vertel ik een javascript dat ie variablen achter de URL moet zetten?
Dus je wilde helemaal niet posten naar een popup? :?

window.open("bla.html?var1=bos&var2=monster")

  • AntonicKnight
  • Registratie: Juni 2001
  • Laatst online: 01-09-2025
Probeer dit es. Het is deels van een bestaande webmail pagina gehaald.
code:
1
2
3
4
5
6
7
8
9
10
<form onsubmit="doOnSubmit" method="get" target="newWindw" action="formProcessor.asp">
<input ..... /><input ... .../><input type="submit" />
</form>
<script>
    var newWindw = null;
    function doOnSubmit() {
    newWindw = window.open('tijdelijke_aanduiding.htm', 'newWindw', 'width=420,height=220,toolbar=0,location=0,directories=0,menubar=0,scrollbar=0,resizable=0,status=0');
    newWindw.focus();
    }
</script>

Succes!

MacBook Pro (mid-2010) || 2.4 GHz Core 2 Duo || 2x2GB || 64 GB OCZ Vertex + 640GB Samsung HM641JI || Eizo S2232WE-BK || Bose Companion II


Verwijderd

Topicstarter
Wel naar een popup, maar dat werkt nu...

Laat ik het iets simpeler houden:

Er is een form, genaamd imageCenter, met grafische submitbutton. Een gebruiker klikt in het plaatje (= de button). Het from berekent de coordinaten van de muisclick, en stuurt deze via GET in de URL als bladiebla.html?imageCenter.x=<waarde>&imageCenter.y=<waarde>
De variablen imageCenter.x en imageCenter.y staan dus nergens in het form gedefinieert, maar worden op het moment van clicken gemaakt.

Echter, bij mij moeten deze 2 variablen naar het javascript (er moet immers een popup komen) Hoe doe ik dat? Deze X en Y waardes zijn essentieel!

Verwijderd

dus je wil gewoon de X en Y variabelen van de muisklik hebben ?

Verwijderd

Topicstarter
YES! Die moeten in de URL komen!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
<script>
function klikOpPlaatje(){
  var Xpos,Ypos;
  Xpos = window.event.x + document.body.scrollLeft;
  Ypos = window.event.y + document.body.scrollTop;  
  window.open('bladiebla.html?imageCenter.x=' + Xpos + '&imageCenter.y=' + Ypos);
}
</script>
[img]"plaatje.jpg"[/img]

/me heeft t niet getest maar heeft vertrouwen in zijn skillz

en als je m wil posten in met een form moet je de action van het form effe omzetten naar 'bladiebla.html?imageCenter......

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Is het niet handiger gewoon te posten naar een pagina en deze de popup te laten openen? Je post nu toch al ergens naar...

Tis weer veel moeilijkdoenerij voor niks imho.

Verwijderd

Topicstarter
JAAAA, Zoepnek, das de oplossing! tnx!!

Bosmonster: jou snap ik nou weer niet! Maar de submitbutton (is een landkaart) moet zichtbaar blijven. DMV hierin te klikken moet je meer info kunnen gaan zien over het aangeklikte object..

Maargoed, de submitbutton is dus niet meer, dankzij Zoepnek's oplossing..

Verwijderd

YESSSSS eindelijk een oplossing gegeven voor bosmonster 'm gaf. Mijn weekend kan niet meer stuk :D

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Was misschien handig geweest als je direct had gezegd waar het om ging.. een kaartje..

Verwijderd

Op vrijdag 17 mei 2002 14:04 schreef beurdy het volgende:
JAAAA, Zoepnek, das de oplossing! tnx!!

Bosmonster: jou snap ik nou weer niet! Maar de submitbutton (is een landkaart) moet zichtbaar blijven. DMV hierin te klikken moet je meer info kunnen gaan zien over het aangeklikte object..

Maargoed, de submitbutton is dus niet meer, dankzij Zoepnek's oplossing..
.... dude heb je frontpage? Gebruik image maps man 1000000x simpeler

Verwijderd

Topicstarter
Dude, ik heb Dreamweaver MX...

Maar de helezooi komt uit een servlet/Oracle database

Verwijderd

Op vrijdag 17 mei 2002 14:14 schreef Zoepnek het volgende:
YESSSSS eindelijk een oplossing gegeven voor bosmonster 'm gaf. Mijn weekend kan niet meer stuk :D
Nou... Ik weet nog wel een betere oplossing:
<input type="image" etc/>

Verwijderd

Topicstarter
ai, toch nog niet tevreden, geloof ik...

De oplossing van Zoepnek geeft screencoordinaten (als ik heb goed heb), en die heb ik dus niet nodig. Ik heb de coordinaten binnen het plaatje nodig (het plaatje is dus niet schermvullend)..

Dusse, iemand een oplossing?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op dinsdag 21 mei 2002 13:29 schreef beurdy het volgende:
ai, toch nog niet tevreden, geloof ik...

De oplossing van Zoepnek geeft screencoordinaten (als ik heb goed heb), en die heb ik dus niet nodig. Ik heb de coordinaten binnen het plaatje nodig (het plaatje is dus niet schermvullend)..

Dusse, iemand een oplossing?
Je kunt een hidden (i)frame maken en daarnaar submitten via GET en de input/image. Daarin kun je zelf de coords uitlezen via location.search en dat frame de popup laten openen.

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

Hangloozz

{ @$%&# }

zomaar een wilde gok: als je nu het element waar het omgaat toevoegd?
code:
1
... window.plaatje.event.x ...

www.jurgroessen.nl


Verwijderd

Topicstarter
Op dinsdag 21 mei 2002 13:38 schreef Hangloozz het volgende:
zomaar een wilde gok: als je nu het element waar het omgaat toevoegd?
code:
1
... window.plaatje.event.x ...
het plaatje is een "on-the-fly" gegenereert plaatje, dus dan is dat regeltje (lijkt mij) nogal lastig..

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

code:
1
2
3
4
5
6
7
8
9
10
<html>
<head>
</head>
<body>
<form action="openpop.html" target="freem" method="get">
<input type="image" name="coords" src="plaatje.gif">
</form>
<iframe style="display:none" name="freem"></iframe>
</body>
</html>

openpop.html
code:
1
2
3
<script type="text/javascript">
window.open("detail.html"+location.search);
</script>

etc...

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

Hangloozz

{ @$%&# }

valt wel mee hoor; als het plaatje in het document een naampje heeft dan is het toch niet zo schokkend om dat ook op de plaats te krijgen die ik als voorbeeld gaf :?
wat zeg ik: die naam is een variabele dus dan kun je um overal plempen waar je wil, right?

www.jurgroessen.nl


Verwijderd

Topicstarter
Op dinsdag 21 mei 2002 13:47 schreef Hangloozz het volgende:
valt wel mee hoor; als het plaatje in het document een naampje heeft dan is het toch niet zo schokkend om dat ook op de plaats te krijgen die ik als voorbeeld gaf :?
wat zeg ik: die naam is een variabele dus dan kun je um overal plempen waar je wil, right?
Dat bedacht ik ook net :P ben het nu aan het proberen..

Verwijderd

Op dinsdag 21 mei 2002 13:29 schreef beurdy het volgende:
ai, toch nog niet tevreden, geloof ik...

De oplossing van Zoepnek geeft screencoordinaten (als ik heb goed heb), en die heb ik dus niet nodig. Ik heb de coordinaten binnen het plaatje nodig (het plaatje is dus niet schermvullend)..

Dusse, iemand een oplossing?
damn hippy kids.. nooit tevreden ;)

Verwijderd

Topicstarter
Op dinsdag 21 mei 2002 13:47 schreef Bosmonster het volgende:
code:
1
2
3
4
5
6
7
8
9
10
<html>
<head>
</head>
<body>
<form action="openpop.html" target="freem" method="get">
<input type="image" name="coords" src="plaatje.gif">
</form>
<iframe style="display:none" name="freem"></iframe>
</body>
</html>

openpop.html
code:
1
2
3
<script type="text/javascript">
window.open("detail.html"+location.search);
</script>

etc...
ehm, ja.. (ik ben een klein beetje het overzicht aan het kwijtraken)

Maarre, nou kom ik, volgens mij weer bij het eerste probleem: Niet alleen de coordinaten van de muisklik moeten meegestuurd worden. Er moeten ook een aantal andere gegevens mee (o.a. breedte + hoogte van het plaatje, en de coordinaten (geen schermcoordinaten!) van de lowerleft- en Upperrightcorner). Hoe doe ik dat dan?
Pagina: 1