Just nu i M3-nätverket
Gå till innehåll

kolla formulär


eemmiill

Rekommendera Poster

Tja alla (ja e ny här så hoppas jag gör rätt nu)

 

ja håller på att lära mig javascript. De e kul. Men svårt.

 

nu tänkte jag att jag skulle försöka mig på att kolla ett formulär men jag får inte koden att fungera.

 

Jag är inte så bra att felkolla min kod så jag tänkte att någon som är bättre än mig på detta kan kolla vad jag gör för fel.

 

<script language="JavaScript">
<!-- Hide

function kollaform(order) {

 if (order.namn.value == "")
   var namn = false
return false
{
    if (order.adress.value == "") 
      var adress = false
   return false
   {
   if (order.ort.value == "" ) 
        var ort = false
	 return false
	 {
	 if (order.postnr.value == "" && != 0 && ! = 00000)
	   var postnr = false
	   return false
	   {
else 
   return true
{
if var namn = false
alert("Du har inte anget något namn.")
{
document.namn.focus
{

if var adress = false
alert("Ange en adress är du snäll.")
{
document.adress.focus
{

if var ort = false 
alert("Du har glömt fylla i ort.")
{
document.ort.focus
{

if var postnr = false
alert("Det är något fel på ditt ifyllda postnummer")
{
document.postnr.focus
{


}


// -->
</script>
</head>


<body>
<form onSubmit="return kollaform(this)" 

 

Länk till kommentar
Dela på andra webbplatser

Hmm, vad säger man om den koden.

 

Jag skulle nog försöka mig på att "alerta" med en gång

 

 

Dvs

 

function kollaform(order) {

 

if (order.namn.value == "")

alert ("tomt!!!!")

 

Else if

(order.adress.value == "")

Alert ("tomt")

 

 

men sen är jag ingen expert på javascript 8vilket jag också har påpekat i andra inlägg) så bättre kodexempel får du fråga någon annan om.

Jag försöker bara hjälpa till så gott jag kan.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Anjuna Moon

Du är fel ute på två sätt. Du gör rätt i att returnera falskt när villkoren du kräver inte är uppfyllda. Men de tester du gör senare i funktionen kommer dels aldrig att genomföras (eftersom "return" hoppar ur funktionen), dels så kommer de ge syntax error pga. att var inte skall anges i if-satserna (var är en tilldelnings-statement) samt att du glömt dubbla == i jämförelserna därnere.

 

Som din funktion ser ut så kommer den förmodligen fungera i vissa läsare eftersom den felaktiga koden aldrig körs, men webbläsarens parser kommer gnälla ändå (typ gul triangel i IE)

 

Försök med följande:

 

var sErr;
sErr+=(order.namn.value == "")?"Inget namn\n":"";
sErr+=(order.adressvalue == "")?"Inget adress\n":"";
sErr+=(order.ort.value == "")?"Ingen ort\n":"";
sErr+=(order.postnr.value == "")?"Inget postnr\n":"";
if (sErr!="") {alert sErr;return false}
return true;
{

 

Länk till kommentar
Dela på andra webbplatser

Så koden ska alltså se ut så här?

 

 


<script language="JavaScript">
<!-- Hide
function kollaform(order) {
var sErr;
sErr+=(order.namn.value == "")?"Inget namn\n":"";
sErr+=(order.adressvalue == "")?"Inget adress\n":"";
sErr+=(order.ort.value == "")?"Ingen ort\n":"";
sErr+=(order.postnr.value == "")?"Inget postnr\n":"";
if (sErr!="") {alert sErr;return false}
return true;
{


<form onSubmit="return kollaform(order)" 

 

Då har jag två frågar.

 

1) Varför funkar det inte?

2) Hur får jag in en setFocus funktion som sätter focus på det som är fel ifyllt?

 

-------------------------------------------------------------------------------------

 

 

BTW, jag har kollat så att mina textrutor i formuläret heter som de ska så det är inga problem men för säkerhetskull skikcar jag med form-koden också.

 

<form name="order" method="post" action="" onSubmit=" return kollaform(order);" >
<table width="367" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td width="127">Namn:</td>
   <td width="240"><input name="namn" type="text" id="namn" size="40"></td>
 </tr>
 <tr>
   <td>Gatuadress:</td>
   <td><input name="adress" type="text" id="adress" size="40"></td>
 </tr>
 <tr>
   <td>Ort:</td>
   <td><input name="ort" type="text" id="ort" size="40"></td>
 </tr>
 <tr>
   <td>Postnummer: </td>
   <td><input name="postnr" type="text" id="postnr" size="10" maxlength="5"> 
     (fem siffror) </td>
 </tr>
 <tr>
   <td>&nbsp;</td>
   <td>&nbsp;</td>
 </tr>
 <tr>
   <td><input name="reset" type="reset" id="reset" value="Återställ formulär"></td>
   <td><input name="Send" type="submit" id="Send" value="Beställ katalog"></td>
 </tr>
</table>

</form>

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...