Avatar billede rmk24 Nybegynder
29. maj 2008 - 13:55 Der er 8 kommentarer og
1 løsning

videre sende form efter validering

Jeg skal have siden til at sende formularen videre til en anden side der sætter det indtastet pænt op osv. men hvordan gør jeg dette. Det skal selvfølgelig være efter valideringen :)

feks action="den_anden_side" men dette virker ikk efter validering. men skal have samme effect. håber nogen kan hjælpe

jeg har skrevet dette..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>kontakt formular</title>
<link rel="stylesheet" type="text/css" href="style/style.css">
<link rel="stylesheet" type="text/css" href="style/menu.css">


<!-- Java Script validering  -->
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@");
dotpos=value.lastIndexOf(".");
if (apos<1||dotpos-apos<2)
  {alert(alerttxt);return false;}
else {return true;}
}
}function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
  {email.focus();return false;}
}
}


</script>
</head>
<body>


           
                    <form action="" onsubmit="return validate_form(this);" method="post">
                    <table cellpadding="3">
                                <tr>
                                    <td>Navn:</td>
                                    <td><input type="text" name="navn"></td>
                                </tr>
                                    <tr>
                                        <td>E-mail:</td>
                                        <td><input type="text" name="email"></td>
                                    </tr>
                                        <tr>
                                            <td>Telefon:</td>
                                            <td><input type="text" name="telefon"></td>
                                        </tr>
                                            <tr>
                                                <td>Besked:</td>
                                                <td><textarea rows="6" name="besked"></textarea></td>
                                            </tr>   
                                                <tr>
                                                    <td colspan="2" align="center"><input type="reset" name="reset" value="Slet alt">&nbsp;<input type="submit" value="Send"></td>
                                                </tr>
                        </table>
                   
                    </form>
           
    </div>
</div>   





</td>
</tr>
</table>
</body>
</html>
Avatar billede o-zone Nybegynder
29. maj 2008 - 14:38 #1
Jeg er ikke sikker på at jeg forstår hvad det er du vil?
Hvad mener du med at "sætte det indtastede pænt op"?

Hvis du sætter action="den anden side", så bliver formindholdet vel posted til "den anden side" hvis ellers indholdet validerer?

/o-zone
Avatar billede rmk24 Nybegynder
29. maj 2008 - 14:48 #2
min side som dette skal sendes over på er siden hvor mailen og alt sådan noget står.

men den skal valideres med mailen først inden den blir sendt, og så skal alt det der er indtastet i formen sendes med men hvordan gør jeg dette. (altså sender hele formen med efter valideringen
Avatar billede emkay Nybegynder
29. maj 2008 - 15:13 #3
Hvad med til slut i din validering, hvis alt er kommet igennem som det skal:

thisform.submit();

Sådan her f.eks.:


......
if (validate_email(email,"Not a valid e-mail address!")==false)
  {email.focus();return false;}
else {thisform.submit();}
}



Duer det?
Avatar billede rmk24 Nybegynder
29. maj 2008 - 15:18 #4
er dårligt til java script:) men har prøvet at gøre det du skrev.. men har fejl for den ud skriver bare dette ovenover formularen i browseren......

if (validate_email(email,"Not a valid e-mail address!")==false) {email.focus();return false;} else {thisform.submit();} }

...
har skrevet dette

<script type="text/javascript">
function validate_email(field,alerttxt)
{
    with (field)
    {
        apos=value.indexOf("@");
        dotpos=value.lastIndexOf(".");
        if (apos<1||dotpos-apos<2)
        {alert(alerttxt);return false;}
        else {return true;}
    }
}function validate_form(thisform)
{
    with (thisform)
    {
        if (validate_email(email,"Not a valid e-mail address!")==false)
        {email.focus();return false;}
        else {thisform.submit();}
    }
}


</script>
Avatar billede rmk24 Nybegynder
29. maj 2008 - 15:21 #5
min fejl der stor det i toppen:) (havde kopieret det ind for at lave det rigtigt og glemt at slette det..)

men det virker ikk. men skal jeg have siden den skal sende til til at stå i action?
Avatar billede rmk24 Nybegynder
29. maj 2008 - 15:23 #6
det virker dog med den fejl der blir sendt 2 ens mails
Avatar billede emkay Nybegynder
29. maj 2008 - 15:24 #7
Hmm.. Jamen måske er det fordi du ikke skal have kaldet til din javascript-funktion i onsubmit-eventen. Fjern hele onsubmit-tagget og så i stedet for en submit-button skal du sætte denne her ind i stedet:

<input type="button" value="Send" onclick="validate_form(this.form)">

Har ik testet om det virker, men prøv at ta udgangspunkt der.
Avatar billede rmk24 Nybegynder
30. maj 2008 - 09:01 #8
det virker bare perfekt. takker mange gange. smid svar hvis du vil have point:)
Avatar billede emkay Nybegynder
30. maj 2008 - 09:41 #9
42
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