Avatar billede madsokist Nybegynder
13. marts 2001 - 13:44 Der er 11 kommentarer og
1 løsning

forme og submit problemer

Hej

Jeg sidder og bøvler med at få en forms onsubmit property til at åbne en ny URL med følgende linje

<form name=\"jubel\" action=\"hej.html\" onsubmit=\"window.open(\'www.noget.dk\');\" method=\"pre\">

Tag jer ikke af url\'erne de er til for eksemplets skyld.

Jeg vil have at hej.html venter med at blive loaded førend brugeren har svaret på en forespørgsel i det vindue der åbnes i onsubmit (www.noget.dk).

Er der en der ved om det kan lade sig gøre? - hvis ja hvordan...

Madsokist
Avatar billede nute Nybegynder
13. marts 2001 - 13:48 #1
<script>
function wOpen(url){
  var popUp = window.Open( url, \'pop\' );
}
</script>

<form name=\"jubel\" action=\"hej.html\" onsubmit=\"wOpen(\'www.noget.dk\');\" method=\"pre\">

dette skulle fungere...

/nute

Avatar billede zeth Nybegynder
13. marts 2001 - 13:50 #2
Har ikke lige afprøvet det, men prøv med

<form name=\"jubel\" action=\"hej.html\" onsubmit=\"java script:window.open(\'www.noget.dk\');\" method=\"pre\">
Avatar billede olebole Juniormester
13. marts 2001 - 18:43 #3
<ole>

<html>
<head>
    <meta http-equiv=\"content-type\" content=\"text/html; charset=iso-8859-1\">
<script language=\"JavaScript\">
var newWin;
function myOpen() {
    newWin = window.open(\"\",\"newWin\",\"height=300,width=500,\")
}
</script>
</head>
<body>

<form action=\"dinSide.asp\" target=\"newWin\" onsubmit=\"myOpen();\">
    <input type=\"text\" name=\"t1\">
    <input type=\"text\" name=\"t2\">
    <input type=\"text\" name=\"t3\">
    <input type=\"submit\" value=\"SEND\">
</form>
   
</body>
</html>

/mvh
</bole>
Avatar billede jakoba Nybegynder
13. marts 2001 - 20:08 #4
Hvis der først skal submittes når brugeren reagere på noget i det det popopvindue skal dit \"åbene et vindue\" script i onsubmit altid returnere falsk.

<form name=\"jubel\" action=\"hej.html\"  method=\"pre\"
      onsubmit=\"window.open(\'www.noget.dk\');return false\">

og så skal der være noget samarbejde imellem den denne og den popoppede side der sørger for at submitte når brugeren svarer. fx ved et kald til
  window.forms.jubel.submit();

Men det bliver grumme svært når popop siden åbner en fil fra et andet domæne end den side der aktiverer popop\'en.  jeg kan ikke.
Du kan få et overblik over problemet på
http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm
i kapitel 14 \"Javascript Security\" og måske endda hitte ud af hvordan.

Kan du evt lave forespørgselen selv på en eller anden måde?

mvh JakobA
Avatar billede jakoba Nybegynder
13. marts 2001 - 20:15 #5
Eller betyder det der \"tag jer ikke af URL\'erne at de åbnede vindue åbner en side fra samme domæne? for så er det nemt.

Når brugeren har reageret aktiverer du blot
  self.opener.document.forms.jubel.submit();
Avatar billede olebole Juniormester
13. marts 2001 - 20:21 #6
Næhhhh....jakoba. Den går ikke! :)
Hvis du returnerer \'false\' og svarer i det nyåbnede vindue og derefter submit\'er igen, vil du jo loade samme side i popUp\'en igen - og onsubmit vil igen returnere \'false\' :)
/mvh
Avatar billede jakoba Nybegynder
13. marts 2001 - 22:04 #7
Ha. endelig får jeg lov at tage olebole i skole :)

Når man aktiverer en forms submit() funktion trigges der IKKE en onsubmit.
Det er kun submitknappen (samt enter hvis der er en submit knap) som vil trigge ondubmit= eventen.

men ok det skal nok være anderleder på MAC :-))

mvh JakobA
Avatar billede olebole Juniormester
13. marts 2001 - 22:10 #8
Undskyld....det havde jeg overset - så ikke, du submittede med JS :)
Men du får stadig ikke tingene overført til det åbnede vindue med mindre du lægger det ind som target i formen :)
/mvh
Avatar billede olebole Juniormester
13. marts 2001 - 22:12 #9
...og man kan rigtig nok løbe ind i \'same origin\' problematikken, hvis man prøver at blande scripts og sider fra forskellige domæner :)
Avatar billede jakoba Nybegynder
13. marts 2001 - 22:29 #10
He He...
Såvidt jeg kan læse det vil han slet ikke have fomindholdet overført til det der vindue. bare have en respons fra det.
He He...
men det er nok på tide vi hører lidt fra the mad sokist.
He He...

mvh JakobA
He He...
Avatar billede jakoba Nybegynder
13. marts 2001 - 22:56 #11
madsokist >> og evt en forklaring på  method=\"pre\"  den method har jeg aldrig hørt om før.
Avatar billede madsokist Nybegynder
14. marts 2001 - 17:05 #12
Hej igen og tak for hjælpen... Ved at tilføje
return false i slutningen af onSubmit fik jeg det til at virke efter hensigten.

metoden \"pre\" øeeeh ..... den har jeg vist selv opfundet...måske er det \"pre-load\" :) hehe.
- nix -
der skulle egentlig stå post jeg ved ikke hvordan jeg har kommet til at skrive det, håber ikke at jeg har vakt din nysgerrighed for meget!! :-).

Hele problemet bestod i at man kunne deltage i en konkurrence, dette krævede at man var logget ind og ikke havde deltaget tidligere. Deltagelse blev gemt i en cookie, som blev aflæst i starten af dokumentet i jsp- kode.

Brugeren kunne ved at klikke tilbage i alligevel deltage x gange i konkurrencen derfor havde jeg brug for at aflæse ved onsubmit i stedet for ved starten af doc, om brugeren allerede havde svaret på konkurrencen. Det lyder lidt simpelt men jeg kendte ikke \"return false;\" muligheden.

Tak igen
the mad so kist!!
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