---
title: "Pop-up om formulär inte är komplett."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/78440-pop-up-om-formulär-inte-är-komplett"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Pedda"
published: "2003-05-29T23:10:27.000Z"
updated: "2003-06-12T22:05:35.000Z"
replies: 9
views: 341
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/78440-pop-up-om-formulär-inte-är-komplett"
---

# Pop-up om formulär inte är komplett.

## #1 — Pedda, 2003-05-29T23:10Z

Hur skriver man för att kontrollera om ett formulär är ifyllt?
Sökte bland javascripten här men blev inte klokare.  :r 

Bland annat har jag detta formulär där jag vill kolla om namn, och meddelande är ifyllda.

```
<form action="addmess.php" method="post" name="NewMess">
	    <table width="100%" border="0" cellspacing="3" cellpadding="3">
          <tr> 
            <td><font color="#<?=$rad['gbfontcolor'] ?>" size="<?=$rad['gbfontsize'] ?>" face="<?=$rad['gbfont'] ?>">Namn:</font></td>
            <td><font color="#<?=$rad['gbfontcolor'] ?>" size="<?=$rad['gbfontsize'] ?>" face="<?=$rad['gbfont'] ?>">E-mail:</font></td>
          </tr>
          <tr> 
            <td><input name="gbmname" type="text" maxlength="50"></td>
            <td><input name="gbmmail" type="text" maxlength="50"></td>
          </tr>
          <tr> 
            <td><font color="#<?=$rad['gbfontcolor'] ?>" size="<?=$rad['gbfontsize'] ?>" face="<?=$rad['gbfont'] ?>">Homepage:</font></td>
            <td><font color="#<?=$rad['gbfontcolor'] ?>" size="<?=$rad['gbfontsize'] ?>" face="<?=$rad['gbfont'] ?>">City 
              or Country:</font></td>
          </tr>
          <tr> 
            <td><input name="gbmurl" type="text" maxlength="100"></td>
            <td><input name="gbmcity" type="text" maxlength="50"></td>
          </tr>
          <tr> 
            <td colspan="2"><textarea name="gbmess" cols="40" rows="6"></textarea></td>
          </tr>
          <tr> 
            <td colspan="2"><input type="submit" name="NewMess" value="Send"> <input name="Clearform" type="reset" id="Clearform" value="Clear"></td>
          </tr>
        </table>
	  </form></td>
```

 

Vill någon förklara eller göra ett exempel?

Permalänk: https://www.webforum.nu/p/78440

## #2 — dectgap, 2003-05-30T00:27Z

Ett exempel:

```
<script type="text/javascript">
function validateForm(theForm){

  var regexp = /^\s*$/;

  if(regexp.test(theForm.elements['gbmname'].value)){
    alert("Fyll i ett namn");
    return false;
  }

  if(regexp.test(theForm.elements['gbmess'].value)){
    alert("Skriv ett meddelande");
  }

  return true;
}
</script>

...

<form action="addmess.php" method="post" name="NewMess" onsubmit="return validateForm(this)">
```

När formuläret skickas iväg (*onsubmit*) returneras validateForm(), med formuläret som argument (*this*).

validateForm() tittar m.h.a. en regexp efter om *gbmname* bara innehåller "tomma" tecken (blanksteg, radbrytning, tabb, vertikal tabb och kanske något annat också) eller inget tecken alls, och om det är fallet säger scriptet till genom en alert-ruta, och false returneras (formuläret kommer inte att skickas iväg). Om namnet går genom kontrollen fortsätter funktionen med gästboksmeddelandet. En likadan kontroll som tidigare görs, och om även gästboksmeddelandet går igenom returneras true, d.v.s. formuläret skickas iväg.

Permalänk: https://www.webforum.nu/p/1067369

## #3 — Pedda, 2003-05-30T11:07Z

Tackar, precis vad jag ville ha! :birp 

Fick lägga till return false; efter andra alerten så formuläret inte postades innan man kompletterat formuläret.

Permalänk: https://www.webforum.nu/p/1067544

## #4 — Pedda, 2003-06-12T13:25Z

Tillbaks igen.  :e 

Den här gången har jag ett annat formulär, men gillade dectcap's lösning så bra, så jag vill använda den igen.
Men nu är det så att jag har några radiobuttons som ska kollas också. Hur gör jag för att komplettera scriptet så den kollar att någon av dom är ibockad?

Permalänk: https://www.webforum.nu/p/1081779

## #5 — PepeJeria, 2003-06-12T13:36Z

För att kolla om en checkbox e icheckad

```
if(document.forms["formname"].checkboxName.checked)
{

}
```

Permalänk: https://www.webforum.nu/p/1081788

## #6 — Pedda, 2003-06-12T13:44Z

Vad ska jag byta ut i ditt förslag?
Formuläret heter Intresse och radiobutton heter foretag

Testade med 

```
if(document.forms["Intresse"].foretag.checked)
{
alert("Du måste kryssa för om det gäller företag eller privat!");
return false;
}
```

Men det funkade inte.

Permalänk: https://www.webforum.nu/p/1081790

## #7 — PepeJeria, 2003-06-12T13:51Z

Sorry, trodde du menade en checkbox, om det är radiobuttons måste du loopa dem o kolla om någon är icheckad.

```
var form = document.forms["Intresse"];
var iCheckad = false;

for(var i=0; i<Intresse.foretag.length;i++)
{
	if(Intresse.foretag[i].checked) iCheckad = true;
}

if(!iCheckad) alert("felmeddelande");
```

Permalänk: https://www.webforum.nu/p/1081794

## #8 — dectgap, 2003-06-12T15:51Z

Det verkar dumt att aldrig använda variablen *form* :)

```
var formfield = document.forms["Intresse"].elements["foretag"];
var iCheckad = false;

for(var i=0; i<formfield.length;i++)
{
	if(formfield[i].checked) iCheckad = true;
}

if(!iCheckad) alert("felmeddelande");
```

Permalänk: https://www.webforum.nu/p/1081856

## #9 — Pedda, 2003-06-12T20:18Z

På vilket sätt ska den ena vara bättre än den andra?

Permalänk: https://www.webforum.nu/p/1082014

## #10 — dectgap, 2003-06-12T22:05Z

Vad jag menade var att PepeJeria sätter variabeln *form* till formuläret, men sedan använde han inte den.

Jag gick ett steg längre, och satte variabeln *formfield* till att inkludera alla radioknappar (foretag).

Permalänk: https://www.webforum.nu/p/1082124

---

Tråden på webben: https://www.webforum.nu/amne/javascript/78440-pop-up-om-formulär-inte-är-komplett
