Avatar billede weblance Nybegynder
22. juni 2003 - 13:56 Der er 18 kommentarer og
1 løsning

Hvordan åbner man et nyt vindue når brugeren sender formular?

Hej,

Jeg har lavet en supportformular på min hjemmeside, i PHP. Hvordan laver jeg det sådan, at når brugeren trykker send, så åbnes der et nyt vindue hvor der fx. står "Beskeden er sendt"?

Er der nogen der kan hjælpe mig med det??
Avatar billede nikolajdu Nybegynder
22. juni 2003 - 14:01 #1
<form onsubmit="window.open('SENDT.PHP','sendt','width=400,height=540');">

/Nikolaj
Avatar billede dragen Nybegynder
22. juni 2003 - 14:02 #2
Brug onSubmit=""
Avatar billede dragen Nybegynder
22. juni 2003 - 14:02 #3
Ja netop =)
Avatar billede nikolajdu Nybegynder
22. juni 2003 - 14:04 #4
svar :))
Avatar billede weblance Nybegynder
22. juni 2003 - 14:14 #5
Tak, det funker fint!!

Hvis jeg skal havet et vindue der bekræfter, som fx. forslaget - hvad skal jeg så gøre hvis der skal komme et andet vindue, der fortæller at der er fx. fejl i oplysningerne?
Avatar billede weblance Nybegynder
22. juni 2003 - 14:15 #6
Ok kan man få vinduet til at være midt på skærmen?
Avatar billede nikolajdu Nybegynder
22. juni 2003 - 14:38 #7
<script language="JavaScript">

function openDu(siden,ww,hh) {
  minX = (screen.availWidth-350)/2;
  minY = (screen.availHeight-200)/2;
  vinduet = window.open(siden,'popUp','width='+ww+',height='+hh+',screenX='+minX+',left='+minX+',screenY='+minY+',top='+minY);
}

</script>

<form onsubmit=openDu('sendt.php',160,200);">

/Nikolaj
Avatar billede weblance Nybegynder
22. juni 2003 - 14:43 #8
Det var dejligt!
Kan man få et vindue, fx. sendt.php (onsubmit="window.open('SENDT.PHP','sendt','width=400,height=540');") for at bekræfte,
og et andet vindue hvis brugeren ik´ke har udfyldt korrekt?
Avatar billede nikolajdu Nybegynder
22. juni 2003 - 14:52 #9
Du starter med at spørge om én ting og snart skal jeg lave det hele....

Jeg ved jo ikke hvilke ting der overhovedet kan udfyldes forkert...???
Avatar billede weblance Nybegynder
22. juni 2003 - 15:02 #10
Sorry . . .
Avatar billede weblance Nybegynder
22. juni 2003 - 15:05 #11
Det jeg ville spørge om var at der skal kommet et vindue hvor der fx. siges at formularen nu er sendt.

Hvis brugeren så ikke har udfyldt alle felterne, så skal der komme et vindue der fortæller at brugeren har glemt at udfylde alle felterne!
Avatar billede nikolajdu Nybegynder
22. juni 2003 - 15:50 #12
Jamen hvilke feltet ???
Avatar billede weblance Nybegynder
22. juni 2003 - 18:53 #13
Ok, jeg har 4 felter: navn, adresse, email og telefon. Hvis brugeren udfylder alle felter, så skal der åbnes et vindue hvor i der står fx. 'beskeden er sendt'.
Hvis brugeren ikke udfylder fx. adresse, så skal der poppe et vindue op der fortæller fx. 'alle felter er ikke udfyldte, prøv venligst igen'.
Og hvis man kunne fortælle brugeren hvilket felt der ikke er udfyld´t, så ville det være super!
. . . og hvis du vil have flere point, så giver jeg dig gerne flere! :)
Avatar billede detox Nybegynder
23. juni 2003 - 02:55 #14
Her er en fin en du kan rette lidt til dit formål:
--------------------------------------------------
<HTML>
<HEAD>
<TITLE>Dude</TITLE>
<script language="JavaScript">
<!--
function check() {
var max = document.forms[0].length-1;
var retval = true;
//alert("checking..."+max+" inputs.");
for (i = 0; i < max; i++) {
  //alert(i+","+document.forms[0][i].value);
  if (document.forms[0][i].value == '') {
    //alert(i+" is empty");
    document.all["l"+i].style.border = "1px #FF0000 solid";
    retval = false;
  } else {
      //alert(i+" is not empty");
      document.all["l"+i].style.border = "1px #00FF00 solid";
  }
}
if( retval == false ) {
      alert("Missing Required fields. Missing fields are highlighted in red.");
} else {
    alert("All fields correctly filled out.");
    document.iform.submit();        // form is correctly filled out
}
return retval;
}
function warn() {
if (document.sub.name.value == '') {
    document.all["light"].style.border
    = "5px #FF0000 solid";
}
}
//-->
</script>
</HEAD>
<BODY>
<form name="iform" action="testf.php">
<p id=l0>Name #1
<input type="text" name="fname[]">
<p id=l1>Name #2
<input type="text" name="fname[]">
<p id=l2>Name #3
<input type="text" name="fname[]">
<p id=l3>Email
<input type="text" name="email">
<!--
NOT a submit button. check() will
submit the form if passed all checks
-->
<input type="button"
      value="Proceed"
        onclick="check();">
</form>
</BODY>
</HTML>
Avatar billede detox Nybegynder
23. juni 2003 - 02:57 #15
Så ligger navnene i et array du kan hente sådan:
------------------------------------------------
<?php
$name = $_GET['fname'];
foreach ($name as $key => $value) {
print "Key = $key Value = $value</br>";
}
?>
Avatar billede weblance Nybegynder
23. juni 2003 - 14:57 #16
Detox >> Hvad skal jeg gøre hvis jeg vil sende outputtet til en mail i stedet for at printe det på skærmen?
Avatar billede weblance Nybegynder
23. juni 2003 - 15:06 #17
...og kan man omfarve tekstboksen i stedet for at der laves en ramme der fylder hele skærmens bredde?

Sig endelig til hvis jeg spørger for meget :)
Avatar billede detox Nybegynder
25. juni 2003 - 02:25 #18
"til"
Avatar billede detox Nybegynder
25. juni 2003 - 02:28 #19
men prøv evt. i javascript forumet. :-)
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