Avatar billede wolstrup Nybegynder
23. november 2007 - 10:20 Der er 15 kommentarer og
1 løsning

Hjælp til submit i parent

På min hovedside har jeg denne onclick som submitter min form.

onClick="document.pressed=this.value"

Fra hovedsiden åbner jeg et vindue, som jeg efterfølgende lukker med

echo "<script>window.close();</script>";

i samme omgang vil jeg gerne submitte min hovedside, har prøvet følgende men kan ikke få det til at virke:

echo "<script>window.parent.location.document.pressed='Bestil';</script>";
Avatar billede w13 Novice
23. november 2007 - 14:18 #1
Hvad hedder formen på hovedsiden? Og hvad gør document.pressed?

Jeg ville umiddelbart gøre sådan her:
------------------------------------------------
Hovedsiden:
<form id="form1" method="post" action="næsteside.php">
  <input type="button" value="Submit" onclick="window.open('nyevindue.php','')">
</form>
------------------------------------------------
Nye vindue:
<script type="text/javascript">
  parent.document.getElementById("form1").submit();
  window.close();
</script>
-------------------------------------------------
Som du ser, har jeg givet formen et id, som jeg kan bruge i det nye vindue til at submitte med:  parent.document.getElementById("form1").submit();
Avatar billede wolstrup Nybegynder
23. november 2007 - 15:07 #2
Den bliver brugt med følgende:

function OnSubmitForm() {
  if(document.pressed == '1') {
  document.form1.action ="index.php";
  } else if(document.pressed == '2') {
    document.form1.action ="step2.php";
  } else if(document.pressed == 'Bestil') {
//    document.form1.action ="payment.php";
    document.form1.action ="invoice.php";
  }
  return true;

Har nu givet formen id="paymentform", og koden ser således ud:

echo "<script>parent.document.getElementById('paymentform').submit();</script>";
echo '<script>window.close();</script>';

Men den submitter stadig ikke.
Avatar billede w13 Novice
23. november 2007 - 15:16 #3
Det bør være:

echo "<script type='text/javascript'>parent.document.getElementById('paymentform').submit();";
echo 'window.close();</script>';

Men vis mig lige hele din form-kode.
Avatar billede roenving Novice
24. november 2007 - 16:35 #4
opener ?-)
Avatar billede w13 Novice
24. november 2007 - 17:20 #5
Det hver gang, jeg bytter rundt på de 2.. :P

echo "<script type='text/javascript'>opener.document.getElementById('paymentform').submit();";
echo 'window.close();</script>';
Avatar billede wolstrup Nybegynder
26. november 2007 - 08:12 #6
Kanon, nu submitter den.. Men jeg skal have denne værdi med for at ende på den rigtige side jo: document.pressed='Bestil'
Avatar billede w13 Novice
26. november 2007 - 14:31 #7
echo "<script type='text/javascript'>opener.document.getElementById('paymentform').submit();";
echo "opener.document.pressed='bestil';";
echo "window.close();</script>";
Avatar billede w13 Novice
26. november 2007 - 14:31 #8
Og et svar! =)
Avatar billede roenving Novice
26. november 2007 - 16:14 #9
>>w13

-- mon ikke der skal byttes om på submit-sætningen og variabel-tildelingen ?-)
Avatar billede w13 Novice
26. november 2007 - 16:50 #10
Jo :P

echo "<script type='text/javascript'>";
echo "opener.document.pressed='bestil';";
echo "opener.document.getElementById('paymentform').submit();";
echo "window.close();</script>";
Avatar billede wolstrup Nybegynder
27. november 2007 - 09:06 #11
Forstår det ikke rigtig, den submitter helt fint, men den ryger ikke til invoice.php som den jo skulle

function OnSubmitForm() {
  if(document.pressed == '1') {
  document.form1.action ="index.php";
  } else if(document.pressed == '2') {
    document.form1.action ="step2.php";
  } else if(document.pressed == 'Bestil') {
//    document.form1.action ="payment.php";
    document.form1.action ="invoice.php";
  }
  return true;
Avatar billede w13 Novice
27. november 2007 - 14:07 #12
JavaScript er CaseSensitive. Vi skriver "bestil" og din kode tjekker for "Bestil". Så ret til:

echo "<script type='text/javascript'>";
echo "opener.document.pressed='Bestil';";
echo "opener.document.getElementById('paymentform').submit();";
echo "window.close();</script>";
Avatar billede wolstrup Nybegynder
27. november 2007 - 14:34 #13
Takker, men værdierne i formen kommer ikke med når den submitter. Altså alle værdier i inputfelterne.
Avatar billede w13 Novice
27. november 2007 - 14:36 #14
Lyder som en fejl i din form, umiddelbart.
Avatar billede wolstrup Nybegynder
27. november 2007 - 14:37 #15
Bruger man den almindelige submit tager den alle værdier med: <input name="button" type="submit" id="button" value="Bestil" onClick="document.pressed=this.value" style="margin-left:65px;">
Avatar billede w13 Novice
27. november 2007 - 14:42 #16
Ja. Der må være en fejl i din form.
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