Avatar billede weiland Nybegynder
18. juni 2006 - 15:49 Der er 4 kommentarer og
1 løsning

document.submit og submitte til popup

Herunder er en formular, hvor action-siden gerne skal åbnes i et popup-vindue, men formularen skal også valideres.
Jeg har forsøgt mig med nedenstående. Formularen valideres, og action-siden åbnes i et nyt vindue, men det er ikke et popup-vindue.


<script>
function MailFormCheck() {

var strSubject=document.MyForm.EmailNewsEmailSubject.value;
var strErrorMsg=''


if (strSubject=='') {
  strErrorMsg+='      Emne \n'
}

if (strErrorMsg!='') {
  strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg
  alert (strErrorMsg);
  return false;
}
else
{
    document.MyForm.submit();
    return true;
    }
}

    function submitToPopup(formref) {
    SiteX = (screen.availWidth-450)/2;
    SiteY = (screen.availHeight-500)/2;
    newwin = window.open('about:blank','vinduenavn','width=450,height=500,screenX='+SiteX+',left='+SiteX+',screenY='+SiteY+',top='+SiteY+',resizable=no,scrollbars=yes,menubar=no,directories=no,location=no,status=no'); 
}


//-->
</script>

<form name=MyForm action=""Send.asp" target="vinduenavn" method=post OnSubmit="return (MailFormCheck() && submitToPopup(this));return false;">

<input type=text name=Subject>

</form>


<input type=image src=../images/gif/buttons/send.gif style='border: 0px' OnClick="MailFormCheck();">
Avatar billede mclemens Nybegynder
18. juni 2006 - 20:19 #1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">

function MailFormCheck() {

f=document.MyForm;
var strSubject=f.EmailNewsEmailSubject.value;
strErrorMsg='';


if (strSubject=='') {
  strErrorMsg+='      Emne \n'
}

if (strErrorMsg!='') {
  strErrorMsg ='Følgende felter er ikke udfyldt korrekt:\n\n' + strErrorMsg
  alert (strErrorMsg);
}
else
{

    SiteX = (screen.availWidth-450)/2;
    SiteY = (screen.availHeight-500)/2;
    newwin = window.open('about:blank','vinduenavn','width=450,height=500,screenX='+SiteX+',left='+SiteX+',screenY='+SiteY+',top='+SiteY+',resizable=no,scrollbars=yes,menubar=no,directories=no,location=no,status=no');
f.submit();

}

}


</script>

</head><body>


<form name="MyForm" action="Send.asp" target="vinduenavn" method="post" onsubmit="MailFormCheck(); return false;">

<input type="text" name="EmailNewsEmailSubject">

</form>

<input type="image" src="../images/gif/buttons/send.gif" style="border: 0px;" onclick="MailFormCheck();">

</body></html>
Avatar billede mclemens Nybegynder
18. juni 2006 - 20:23 #2
"Fejlen" lå i, at du forsøgte på, at få den til at lave et opkald til begge funktioner for herefter at returnere en true værdi ved den føste funktion, der gjorde at formen blev submittet - herefter holder scriptet så. Derfor har jeg lagt det hele ind i samme funktion - og bedt den om at returnere false på submit uanset hvad. Jeg bruger så submit(); til at submitte formularen med, hvis det hele validerede ... hvis det ikke gør får man din alert op ...
Avatar billede weiland Nybegynder
18. juni 2006 - 20:25 #3
Hæ hæ, SUPER!
Avatar billede weiland Nybegynder
18. juni 2006 - 20:25 #4
- og tak!
Avatar billede mclemens Nybegynder
18. juni 2006 - 20:28 #5
- så lidt, og tak for point :)
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