Avatar billede pointwood Nybegynder
27. oktober 2000 - 13:56 Der er 3 kommentarer og
1 løsning

Form submit -> sende data samt åbne popup vindue?

Jeg har et link der åbnes i et popupvindue. I stedet for at være et link, så vil jeg gerne have det til at ske når en bruger klikker på en submit knap i en form (og sender dataene fra formen).

Scriptet jeg bruger ser sådan ud:

=== Cut ===
<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Begin
function NewWindow(mypage, myname, w, h, scroll) {
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 2;
  winprops = \'height=\'+h+\',width=\'+w+\',top=\'+wint+\',left=\'+winl+\',scrollbars=\'+scroll+\',resizable\'
  win = window.open(mypage, myname, winprops)
  if (parseInt(navigator.appVersion) >= 4) {
    win.window.focus();
  }
}
-->
</script>
=== Cut ===

Linket ser således ud:

=== Cut ===
<A HREF=\"/webclient/servlet/WebClient\" onclick=\"NewWindow(this.href,\'Webclient\',\'656\',\'500\',\'yes\');return false;\">her</A>.</FONT></P>
=== Cut ===

Den form jeg gerne vil have det flyttet til er en ganske simpel form:

=== Cut ===
<FORM ACTION=\"http://111.111.111.111:8080/test/1/TEST/\" METHOD=\"post\">
<INPUT TYPE=\"hidden\" NAME=\"Index\" VALUE=\"Login\"><BR>
Navn: <INPUT TYPE=\"text\" TABINDEX=\"1\" NAME=\"Username\"><BR>
Password:<INPUT TYPE=\"password\" TABINDEX=\"2\" NAME=\"Password\"><BR>
<INPUT TYPE=\"submit\" TABINDEX=\"3\" NAME=\"submit\" VALUE=\"  SEND  \">
<INPUT TYPE=\"submit\" TABINDEX=\"4\" NAME=\"afslut\" VALUE=\" Afslut \">
</FORM>
=== Cut ===

Hvordan klares det? Jeg skal altså have det åbnet i et nyt vindue, samt hente de data brugeren har indtastet i formen.
Avatar billede strato Nybegynder
27. oktober 2000 - 14:06 #1
Hm. De fleste psw cgi scripts har en redirect! Tjek om det script du kører ikke kan dette f.eks. via det sted psw data ligger. Alternativt, hvis dette ikke er tilfælde kan du måske benytte en eller flere af disse forslag:

Sæt target atr. i form, i.e.
<FORM ACTION=\"http:// o.s.v.\" target=\"myWindow\">

og/eller tilføj en event handler til din submit knap:
<INPUT TYPE=\"submit\" ... onClick=\"newWindow(url, myWindow, o.s.v... >

strato ;)
Avatar billede pointwood Nybegynder
27. oktober 2000 - 14:53 #2
Nu har jeg prøvet at gøre følgende:

<FORM ACTION=\"http://192.168.255.6:8080/webclient/servlet/WebClient/ TARGET=\"_blank\" METHOD=\"post\">

<INPUT TYPE=\"submit\" ONCLICK=\"NewWindow(this.href,\'Webclient\',\'656\',\'500\',\'yes\');return false;\" TABINDEX=\"3\" NAME=\"frem\" VALUE=\"  >>  \">

Og det jeg får tilbage er:

Error: 404
Location: /webclient/undefined
File Not Found
/webclient/undefined


Hmm...?
Avatar billede strato Nybegynder
27. oktober 2000 - 17:05 #3
Du er nødt til at fortælle mig lidt mere om cgi scriptet hvis jeg skal hjælpe dig. Er det et du selv har lavet eller hur?

Du skal sætte form target til det samme som i event handleren, altså ikke _blank men navnet på det vindue du vil have formen vist i. Desuden skal vinduet være \"kreeret\" før du kan benytte det som target. Hvis ikke det er et vindue der i forvejen er åbent bør du åbne det og flytte focus fra det til formen submittes.

Men det letteste og bedste ville være om cgi scriptet understøttede en redirect. Det plejer de at gøre hvis det er std. psw script så forsøg med
(i formen)
<input type=\"hidden\" name=\"redirect\" value=\"http://myPage.htm\"> hvor dit target så kan være en _blank
Avatar billede pointwood Nybegynder
30. oktober 2000 - 16:24 #4
Nu kom jeg lidt videre - det fungerer nu, men jeg får faktisk 2 popup vinduer :-(

Det er faktisk ikke et script der ligger bag - jeg bruger Java Servlets.

Min form ser nu således ud:

<FORM ACTION=\"http://111.111.111.111:8080/test/1/TEST/\" TARGET=\"=\"http://111.111.111.111:8080/test/1/TEST/\" METHOD=\"post\">
<INPUT TYPE=\"hidden\" NAME=\"Index\" VALUE=\"Login\"><BR>
Navn: <INPUT TYPE=\"text\" NAME=\"Username\"><BR>
Password:<INPUT TYPE=\"password\" NAME=\"Password\"><BR>
<INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\"  SEND  \">
<INPUT TYPE=\"submit\" NAME=\"afslut\" VALUE=\" Afslut \">
</FORM>

Det ene vindue er det korrekte (dvs. med den side jeg gerne vil have min Java Servlet til at spytte ud), mens den anden (dette er den første af de 2 nye vinduer, der bliver startet) er den tidligere beskrevede \"Error: 404\" side :-(
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