webForumDet fria alternativet

Kolla om formulär är korrekt ifyllt - Problem

JavaScriptur Javascript

4 svar · 699 visningar · startad av Skogiz

SkogizMedlem sedan feb. 200395 inlägg
Frågan#1

Jag har ett formulär där en del fält måste fyllas i för att det ska anses som en korrekt beställning. Mitt problem är dock att även om man lämnar fälten tomma så får man helt korrekt en varning om detta, när man sen klickar okej så kör den vidare till php-sidan som behandlar informationen från formuläret... tanken är ju att den INTE ska gå vidare om formuläret inte är korrekt ifyllt.

<script type="text/javascript">
<!--
function validate_form ( )
{
    valid = true;
    if ( document.contact_form.jatack.checked == false )
    {
        alert ( "Du måste kryssa för att du vill beställa" );
        valid = false;
    }

    if ( document.contact_form.villkor.checked == false )
    {
        alert ( "Du måste godkänna våra Allmäna villkor!" );
        valid = false;
    }

    if ( document.contact_form.contact_fornamn.value == "" )
    {
        alert ( "Du måste fylla i ditt förnamn!" );
        valid = false;
    }
    return valid;
}
//-->
</script>

i övrigt på sidan

<form name="contact_form" method="post" action="order_fiber_p.php" onsubmit="return validate_form ( );">
<input type="submit" value="Beställ" name="contact_form"></form>
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Jag ser inga fel.

  1. Vilken webbläsare får du fel i?
  2. Hur ser HTML-koden för formulärinnehållet ut?
SkogizMedlem sedan feb. 200395 inlägg
#3

Jag får fel med både Firefox och IE 7. Med fel avser jag att den ändå kör vidare till action-sidan

<body bgcolor="#6799CB">

<p align="center">&nbsp;</p>
<div align="center">
<form name="contact_form" method="post" action="order_fiber_p.php" onsubmit="return validate_form ( );">

   <table border="0" width="450" id="table1">
      <tr>
         <td width="411"><font face="Verdana" size="2"><b>Ja tack, jag beställer
         Internetabonnemang enligt nedan:</b> </font></td>
         <td><font size="1" face="Verdana">
         <input type="checkbox" name="jatack" value="ON"></font></td>
      </tr>
      <tr>
         <td width="411"><font face="Verdana" size="2">Fiber/LAN 2.5 Mbps
         79:- /mån + anslutningsavgift 200:- </font></td>
         <td><font size="1" face="Verdana">
         <input type="radio" value="2.5" name="R2" checked></font></td>
      </tr>
      <tr>
         <td width="411"><font face="Verdana" size="2">Fiber/LAN 10 Mbps 99:-
         /mån + anslutningsavgift 200:-</font></td>
         <td><font size="1" face="Verdana">
         <input type="radio" value="10" name="R2"></font></td>
      </tr>
      <tr>
         <td width="411">&nbsp;</td>
         <td>&nbsp;</td>
      </tr>
      <tr>
         <td width="411"><font face="Verdana" size="2">Jag har läst och
         godkänner härmed Era Allmänna villkor</font></td>
         <td><font size="1" face="Verdana">
         <input type="checkbox" name="villkor" value="ON"></font></td>
      </tr>
   </table>
   <br><br>
   <table border="0" width="450" id="table2">
      <tr>
         <td width="139"><font face="Verdana" size="2">Förnamn</font></td>
         <td><input type="text" name="fornamn" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font face="Verdana" size="2">Efternamn</font></td>
         <td><input type="text" name="efternamn" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font face="Verdana" size="2">Adress</font></td>
         <td><input type="text" name="adress" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font face="Verdana" size="2">Postnummer / Ort</font></td>
         <td><input type="text" name="postnummer" size="6">&nbsp;
         <input type="text" name="ort" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font face="Verdana" size="2">Telefon dagtid</font></td>
         <td><input type="text" name="telefon" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font size="2" face="Verdana">Nuvarande e-post</font></td>
         <td><input type="text" name="epost" size="20"></td>
      </tr>
      <tr>
         <td width="139"><font size="2" face="Verdana">Personnummer</font></td>
         <td><input type="text" name="persnummer" size="20"></td>
      </tr>
   </table>
   <p><input type="submit" value="Beställ" name="contact_form"></form></div>
<p align="center"><br>
&nbsp;</p>

</body>

</html>
Peter SMedlem sedan dec. 20025 483 inlägg
#4

Du har

document.contact_form.[red]contact_fornamn[/red].value

...men i HTML-koden heter inputen fornamn.

:)

SkogizMedlem sedan feb. 200395 inlägg
#5

Dags att skaffa ett par nya ögon...

Tack för hjälpen! :bire

132 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5
130 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)