Avatar billede xyz74 Nybegynder
18. februar 2002 - 16:40 Der er 2 kommentarer og
1 løsning

Er der nogen der kan fortælle mig hvorfor dette ikke virker?

<html>
<head>
<title>Opgaver</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#000099" text="#CC0000">
<p align="center">Her er nogle opgaver som du skal l&oslash;se!

<script>
function validering()
  {
  error = 0;
  if(!((document.forms[0].radionavn[0].checked)
    || (document.forms[0].radionavn[1].checked)) && (error==0))
  {
    alert('Du skal vælge hvad du foretrækker!');
    document.forms[0].radionavn.focus();
    error = 1;
  }
  if(error == 0)
  document.forms[0].submit();
  }
</script>

<form action="" method="post" onsubmit="validering();">
  <p>Hvilket land har dette flag?
  <table width="75%" border="0">
    <tr>
      <td>
        <div align="center"><img src="images/1.gif" width="150" height="91"></div>
      </td>
      <td width="46%">
        <p>
          <input type="radio" name="radionavn" value="Greece">
          Greece</p>
        <p>
          <input type="radio" name="radionavn" value="Turkey">
          Turkey </p>
      </td>
    </tr>

<%
    String Bestilt = request.getParameter("radionavn");
if  (Bestilt.equals("Greece"))
    out.println("Du har svaret rigtigt");
else
    out.println("Du har svaret forkert");
%>

</table>
<br><input type="submit" value="Se resultat">
</form>
</body>
</html>
Avatar billede soelvpil Nybegynder
18. februar 2002 - 17:13 #1
Du får garanteret en NullpointerException.

Det er fordi request-parameteren "radionavn" ikke er defineret første gang du går ind på siden, men først når den submitter til sig selv.

Prøv i stedet med

if ("Greece".equals(Bestilt))

o.s.v.
Avatar billede soelvpil Nybegynder
18. februar 2002 - 17:15 #2
Ups, måske du hellere må checke for Null også, så du ikke starter med at få at vide, at du har svaret forkert.

Prøv med

if (Bestilt!=null) {
  if ("Greece".equals(Bestilt))
    out.println("Rigtigt!");
  else
    out.prinltn("Forkert!");
}
Avatar billede disky Nybegynder
18. februar 2002 - 17:15 #3
ret:
<%
    String Bestilt = request.getParameter("radionavn");
if  (Bestilt.equals("Greece"))
    out.println("Du har svaret rigtigt");
else
    out.println("Du har svaret forkert");

til
<%
if(request.getMethod().equals("post"))
{
    String Bestilt = request.getParameter("radionavn");
if  (Bestilt.equals("Greece"))
    out.println("Du har svaret rigtigt");
else
    out.println("Du har svaret forkert");
}
%>

Så bliver koden nemlig ikke udført hvis der IKKE er blevet submittet.

Soelvpil's løsning løser dig nullPointerEception problem, men skriver stadigvæk man har svaret forkert uden egentligt at havde svaret.
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
Kurser inden for grundlæggende programmering

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