Avatar billede kraghjensen Nybegynder
13. juni 2006 - 10:15 Der er 8 kommentarer og
1 løsning

Problem med valdering af formular

Jeg har denne stump kode, hvori en bruger skal angive nogle forskellige værdier i felterne "Antal ture" - "Formål" og "Ansvar".
Valderingen virker fint nok, og hvis brugeren ikke har angivet noget i et af felterne komme advarslen frem, men der viderestilles til side "gem_rejsen.asp".
Men det skulle gerne være sådan, at hvis en bruger ikke har anført en værdi, forbliver han på siden.

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 4</title>
<link rel="stylesheet" href="../css.css" type="text/css">
<script type="text/javascript">

<!-- Start

function validering()
  {
  error = 0;
  if((document.forms[0].kontering_ansvar.value=='0') && (error==0)) 
  {       
    alert('Der skal vælge et ansvarsnummer!');
    document.forms[0].kontering_ansvar.focus();
    error = 1;       
  }

if((document.forms[0].kontering_formal.value=='') && (error==0)) 
  {       
    alert('Der skal anføres et formålsnummer. Anfør 0, hvis det ikke kendes!');
    document.forms[0].kontering_formal.focus();
    error = 1;       
  }   
       
if((document.forms[0].antal_ture.value=='') && (error==0)) 
  {       
    alert('Antal ture skal udfyldes!');
    document.forms[0].antal_ture.focus();
    error = 1;       
  }

       
  if(error == 0)
  document.forms[0].submit();   
  }




// Slut -->
</script>


</head>

<body>
<form method="post" action="gem_rejsen.asp" onsubmit="validering();return false;">
    <p><b>Trinene på rejsen: <br>
    </b>Transportform - Om rejsen - <a href="java script:history.back(-1)" class="link_stor">Ydelser m.m.</a>
-
    <b>Kontering</b></p>
    <table border="1"  class="table_medium" width="753">
   
        <tr>
            <td class="td_std" bgcolor="#F4F4F4" colspan="3" height="25" valign="top">
            <h6>Daglig hen og tilbage rejse:</h6>Bemærk, idet du har valgt transportform i bil og ikke har overnatning skal du indtaste for mange gange du har kørt <b>tur/retur</B>
            </td>
        </tr>
<tr>
            <td class="td_std" width="253">Antal ture - tur/retur</td>
            <td class="td_std" valign="top" width="416">
            <input type="text" name="antal_ture" size="2"></td>
            <td class="td_std" valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/Antalture.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>


        <tr>
            <td class="td_std" bgcolor="#F4F4F4" colspan="3" height="25" valign="top">
            <h6>Kontering:</h6>
            </td>
        </tr>
            <tr>
            <td class="td_std"  height="27" width="253">Art</td>
            <td class="td_std"  valign="top" height="27" width="416">
            <select size="1" name="kontering_art">
            <option value="2151" selected>Indlandsrejse - 2151</option>
            <option value="2152">Udlandsrejse - 2152</option>
            </select></td>
            <td class="td_std"  valign="top" height="27" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/art.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            <tr>
            <td class="td_std" width="253" >Formål</td>
            <td class="td_std"  valign="top" width="416">
            <input type="text" name="kontering_formal" size="31" value="0"></td>
            <td class="td_std"  valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/formal.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            <tr>
            <td class="td_std" width="253" >Ansvar</td>
            <td class="td_std"  valign="top" width="416">
&nbsp;<select size="1" name="kontering_ansvar">
   
   



<option value="0">Vælg ansvar</option>
<option value="110">110</option>
   
   



</td>
            <td class="td_std"  valign="top" width="62">
<a href="#" onClick="MyWindow=window.open('../help/ansvar.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
<tr>
            <td class="td_std" width="253" >Evt. projektnr</td>
            <td class="td_std"  valign="top" width="416">
            <input type="text" name="projektnr" size="31"></td>
            <td class="td_std"  valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/projektnr.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            </table>
    <p><input type="submit" value="Gem rejsen" name="B1"></p>
</form>

</body>

</html>
Avatar billede mclemens Nybegynder
13. juni 2006 - 10:50 #1
Hvad med: (ikke testet)

<form method="post" action="gem_rejsen.asp" onsubmit="return validering();">


og:

function validering()
  {
  error = 0;
  if((document.forms[0].kontering_ansvar.value=='0') && (error==0))
  {     
    alert('Der skal vælge et ansvarsnummer!');
    document.forms[0].kontering_ansvar.focus();
    error = 1;     
  }

if((document.forms[0].kontering_formal.value=='') && (error==0))
  {     
    alert('Der skal anføres et formålsnummer. Anfør 0, hvis det ikke kendes!');
    document.forms[0].kontering_formal.focus();
    error = 1;     
  } 
     
if((document.forms[0].antal_ture.value=='') && (error==0))
  {     
    alert('Antal ture skal udfyldes!');
    document.forms[0].antal_ture.focus();
    error = 1;     
  }

     
  if(error == 0)return true;
else return false;
  }
Avatar billede kraghjensen Nybegynder
13. juni 2006 - 11:10 #2
Nej, det virker ikke. Advarslen vises, og dernæst viderestilles der til "gem_rejsen.asp"
Avatar billede erikjacobsen Ekspert
13. juni 2006 - 11:44 #3
Det er altså den korrekte måde mcclemens skriver. Har du skrevet rigtigt af?
Avatar billede kraghjensen Nybegynder
13. juni 2006 - 12:46 #4
Ja
Avatar billede mclemens Nybegynder
13. juni 2006 - 13:44 #5
Enten så har du noget andet kode der konflikter eller
også har du glemt at rette form'en også - den virker her ...

Her er rettelserne indlagt...



<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 4</title>
<link rel="stylesheet" href="../css.css" type="text/css">
<script type="text/javascript">

<!-- Start

function validering()
  {
  error = 0;
  if((document.forms[0].kontering_ansvar.value=='0') && (error==0))
  {     
    alert('Der skal vælge et ansvarsnummer!');
    document.forms[0].kontering_ansvar.focus();
    error = 1;     
  }

if((document.forms[0].kontering_formal.value=='') && (error==0))
  {     
    alert('Der skal anføres et formålsnummer. Anfør 0, hvis det ikke kendes!');
    document.forms[0].kontering_formal.focus();
    error = 1;     
  } 
     
if((document.forms[0].antal_ture.value=='') && (error==0))
  {     
    alert('Antal ture skal udfyldes!');
    document.forms[0].antal_ture.focus();
    error = 1;     
  }

     
  if(error ==0)return true;
    else return false;
  }




// Slut -->
</script>


</head>

<body>
<form method="post" action="gem_rejsen.asp" onsubmit="return validering();">
    <p><b>Trinene på rejsen: <br>
    </b>Transportform - Om rejsen - <a href="java script:history.back(-1" class="link_stor">Ydelser m.m.</a>
-
    <b>Kontering</b></p>
    <table border="1"  class="table_medium" width="753">
 
        <tr>
            <td class="td_std" bgcolor="#F4F4F4" colspan="3" height="25" valign="top">
            <h6>Daglig hen og tilbage rejse:</h6>Bemærk, idet du har valgt transportform i bil og ikke har overnatning skal du indtaste for mange gange du har kørt <b>tur/retur</B>
            </td>
        </tr>
<tr>
            <td class="td_std" width="253">Antal ture - tur/retur</td>
            <td class="td_std" valign="top" width="416">
            <input type="text" name="antal_ture" size="2"></td>
            <td class="td_std" valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/Antalture.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>


        <tr>
            <td class="td_std" bgcolor="#F4F4F4" colspan="3" height="25" valign="top">
            <h6>Kontering:</h6>
            </td>
        </tr>
            <tr>
            <td class="td_std"  height="27" width="253">Art</td>
            <td class="td_std"  valign="top" height="27" width="416">
            <select size="1" name="kontering_art">
            <option value="2151" selected>Indlandsrejse - 2151</option>
            <option value="2152">Udlandsrejse - 2152</option>
            </select></td>
            <td class="td_std"  valign="top" height="27" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/art.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            <tr>
            <td class="td_std" width="253" >Formål</td>
            <td class="td_std"  valign="top" width="416">
            <input type="text" name="kontering_formal" size="31" value="0"></td>
            <td class="td_std"  valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/formal.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            <tr>
            <td class="td_std" width="253" >Ansvar</td>
            <td class="td_std"  valign="top" width="416">
&nbsp;<select size="1" name="kontering_ansvar">
 
 



<option value="0">Vælg ansvar</option>
<option value="110">110</option>
 
 



</td>
            <td class="td_std"  valign="top" width="62">
<a href="#" onClick="MyWindow=window.open('../help/ansvar.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
<tr>
            <td class="td_std" width="253" >Evt. projektnr</td>
            <td class="td_std"  valign="top" width="416">
            <input type="text" name="projektnr" size="31"></td>
            <td class="td_std"  valign="top" width="62">
            <a href="#" onClick="MyWindow=window.open('../help/projektnr.htm','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=400,height=200'); return false;"><img border="0" src="../images/help.gif"></a></td>
            </tr>
            </table>
    <p><input type="submit" value="Gem rejsen" name="B1"></p>
</form>

</body>

</html>
Avatar billede mclemens Nybegynder
13. juni 2006 - 13:45 #6
Hvilken browser tester du med?
Bruger selv IE 6.0 og FF 1.5.0.1...
Avatar billede kraghjensen Nybegynder
13. juni 2006 - 14:32 #7
Hvad jeg har lavet forkert ved jeg ikke, men det virker..
Måske er det varmen...
Læg et svar
Avatar billede mclemens Nybegynder
29. juli 2006 - 12:19 #8
Ups, glemte svaret :o)
Avatar billede mclemens Nybegynder
30. juli 2006 - 09:34 #9
Og tak for point :o)
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