Avatar billede michael_stim Ekspert
06. april 2004 - 20:55 Der er 26 kommentarer og
1 løsning

Funktion der checker alle felter i en form.

Jeg vil gerne have en funktion der checker om alle felter i en form er udfyldt för man sender videre til databasen. Har kikket lidt på det der er, men syndes ikke rigtigt jeg kan bruge noget.

//Michael
Avatar billede and_ Nybegynder
06. april 2004 - 20:57 #1
det var bedre :)

Hvad er dine feltnavne? så bikser jeg lige en sammen til dig...
Avatar billede michael_stim Ekspert
06. april 2004 - 21:00 #2
name, birthday, address, zipcode, city, email.
Avatar billede michael_stim Ekspert
06. april 2004 - 21:01 #3
Formnavn=inputForm
Avatar billede and_ Nybegynder
06. april 2004 - 21:08 #4
i dit form-tag: <form onsubmit="return AndenCorner();" action bla bla bla>

i dit script:

<script language="javascript">
function AndensCorner()
{
var navn = document.inputForm.name.value.length;
var fdag = document.inputForm.birthday.value.length;
var lokation = document.inputForm.address.value.length;
var nummer = document.inputForm.zipcode.value.length;
var bynavn = document.inputForm.city.value.length;
var mailadr = document.inputForm.email.value.length;

if (navn == 0)
{
alert('skal udfyldes!');
document.inputForm.name.focus();
return false;
}
if (fdag == 0)
{
alert('skal udfyldes!');
document.inputForm.birthday.focus();
return false;
}
if (lokation == 0)
{
alert('skal udfyldes!');
document.inputForm.address.focus();
return false;
}
if (nummer == 0)
{
alert('skal udfyldes!');
document.inputForm.zipcode.focus();
return false;
}
if (bynavn == 0)
{
alert('skal udfyldes!');
document.inputForm.city.focus();
return false;
}
if (mailadr == 0)
{
alert('skal udfyldes!');
document.inputForm.email.focus();
return false;
}
}

denne skulle kunne gøre det...
Avatar billede and_ Nybegynder
06. april 2004 - 21:09 #5
sorry sådan her:

<script language="javascript">
function AndensCorner()
{
var navn = document.inputForm.name.value.length;
var fdag = document.inputForm.birthday.value.length;
var lokation = document.inputForm.address.value.length;
var nummer = document.inputForm.zipcode.value.length;
var bynavn = document.inputForm.city.value.length;
var mailadr = document.inputForm.email.value.length;

if (navn == 0)
{
alert('skal udfyldes!');
document.inputForm.name.focus();
return false;
}
if (fdag == 0)
{
alert('skal udfyldes!');
document.inputForm.birthday.focus();
return false;
}
if (lokation == 0)
{
alert('skal udfyldes!');
document.inputForm.address.focus();
return false;
}
if (nummer == 0)
{
alert('skal udfyldes!');
document.inputForm.zipcode.focus();
return false;
}
if (bynavn == 0)
{
alert('skal udfyldes!');
document.inputForm.city.focus();
return false;
}
if (mailadr == 0)
{
alert('skal udfyldes!');
document.inputForm.email.focus();
return false;
}
return true;
}
</script>
Avatar billede michael_stim Ekspert
06. april 2004 - 21:19 #6
Får fejlmeddelse: et objekt forventes linie 67 (lige för formen)
Avatar billede michael_stim Ekspert
06. april 2004 - 21:20 #7
skal 0 ikke väre ""?
Avatar billede michael_stim Ekspert
06. april 2004 - 21:20 #8
Så nu at du tager längden
Avatar billede and_ Nybegynder
06. april 2004 - 21:22 #9
nej fordi vi tester på længden, men vi kan da godt lige ændre det,,,

var'ene skal være:
var navn = document.inputForm.name.value;

og if-sætningerne:
if (navn == "")
Avatar billede and_ Nybegynder
06. april 2004 - 21:22 #10
hvis det ikke virker, så smid lige scriptet herind...
Avatar billede michael_stim Ekspert
06. april 2004 - 21:23 #11
Det hele?
Avatar billede and_ Nybegynder
06. april 2004 - 21:24 #12
ja, det sker der vel ikke noget ved :d
Avatar billede michael_stim Ekspert
06. april 2004 - 21:26 #13
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Rabatten</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="jourblomman.css" rel="stylesheet" type="text/css">
<script language="javascript">
function AndensCorner()
{
var navn = document.inputForm.name.value.length;
var fdag = document.inputForm.birthday.value.length;
var lokation = document.inputForm.address.value.length;
var nummer = document.inputForm.zipcode.value.length;
var bynavn = document.inputForm.city.value.length;
var mailadr = document.inputForm.email.value.length;

if (navn == 0)
{
alert('skal udfyldes!');
document.inputForm.name.focus();
return false;
}
if (fdag == 0)
{
alert('skal udfyldes!');
document.inputForm.birthday.focus();
return false;
}
if (lokation == 0)
{
alert('skal udfyldes!');
document.inputForm.address.focus();
return false;
}
if (nummer == 0)
{
alert('skal udfyldes!');
document.inputForm.zipcode.focus();
return false;
}
if (bynavn == 0)
{
alert('skal udfyldes!');
document.inputForm.city.focus();
return false;
}
if (mailadr == 0)
{
alert('skal udfyldes!');
document.inputForm.email.focus();
return false;
}
return true;
}
</script>
</head>

<body>
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td><font color="#006699">Anm&auml;l dig till Rabatten.<br>
      </font>Du kan anm&auml;la b&aring;de dig och ditt f&ouml;retag till Rabatten.
      Fyller du i ditt f&ouml;retag s&aring; fyller du i dagens datum p&aring;
      f&ouml;delsdag ist&auml;llet...<br>
      <em>Alla f&auml;lten &auml;r obligatoriska...</em></td>
  </tr>
</table>
<form method="post" action="laggTillRabatten.asp" name="inputForm" onsubmit="return AndenCorner();">
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
    <td><input name="status" type="radio" value="Privat" checked>
      Privatperson
      <input type="radio" name="status" value="Företag">
      F&ouml;retag </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/namn.gif" width="140" height="20"></td>
    <td><input name="name" type="text" class="form_kantlinje" id="name" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/birtday.gif" width="140" height="20"></td>
    <td><input name="birthday" type="text" class="form_kantlinje" size="20">Ex. (<% response.write(FormatDateTime(now(), vbShortDate)) %>)
    </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/adress.gif" width="140" height="20"></td>
    <td><input name="address" type="text" class="form_kantlinje" id="address" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/postnummer.gif" width="140" height="20"></td>
    <td><input name="zipcode" type="text" class="form_kantlinje" id="zipcode" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/ort.gif" width="140" height="20"></td>
    <td><input name="city" type="text" class="form_kantlinje" id="city" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/email.gif" width="140" height="20"></td>
    <td><input name="email" type="text" class="form_kantlinje" id="email" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/nyhetsbrev.gif" width="140" height="20"></td>
    <td><input name="news" type="radio" value="Ja tack. Jag vill ha ert nyhetsbrev" checked>
      Ja
      <input type="radio" name="news" value="Nej tack. Jag vill inte ha ert nyhetsbrev">
      Nej </td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>

    <td><input type="image" src="knappar/skicka_in.gif" width="140" height="20" border="0" onclick="document.inputForm.submit();"></td>
  </tr>
</table>
</form>
</body>
</html>
Avatar billede and_ Nybegynder
06. april 2004 - 21:31 #14
jeg kigger....
Avatar billede and_ Nybegynder
06. april 2004 - 21:38 #15
prøv dette:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Rabatten</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="jourblomman.css" rel="stylesheet" type="text/css">
<script language="javascript">

    function AndensCorner()
    {
        var navn = document.inputForm.name.value;
        var fdag = document.inputForm.birthday.value;
        var lokation = document.inputForm.address.value;
        var nummer = document.inputForm.zipcode.value;
        var bynavn = document.inputForm.city.value;
        var mailadr = document.inputForm.email.value;
       
        if (navn == 0)
        {
            alert('navn skal udfyldes!');
            document.inputForm.name.focus();
            return;
        }
       
        if (fdag == 0)
        {
            alert('føsdag skal udfyldes!');
            document.inputForm.birthday.focus();
            return;
        }
       
        if (lokation == 0)
        {
            alert('adressen skal udfyldes!');
            document.inputForm.address.focus();
            return;
        }
       
        if (nummer == 0)
        {
            alert('postnr skal udfyldes!');
            document.inputForm.zipcode.focus();
            return;
        }
       
        if (bynavn == 0)
        {
            alert('byen skal udfyldes!');
            document.inputForm.city.focus();
            return;
        }
       
        if (mailadr == 0)
        {
            alert('mailen skal udfyldes!');
            document.inputForm.email.focus();
            return;
        }
       
    document.inputForm.submit();
    }

</script>
</head>

<body>
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td><font color="#006699">Anm&auml;l dig till Rabatten.<br>
      </font>Du kan anm&auml;la b&aring;de dig och ditt f&ouml;retag till Rabatten.
      Fyller du i ditt f&ouml;retag s&aring; fyller du i dagens datum p&aring;
      f&ouml;delsdag ist&auml;llet...<br>
      <em>Alla f&auml;lten &auml;r obligatoriska...</em></td>
  </tr>
</table>
<form method="post" action="laggTillRabatten.asp" name="inputForm">
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
    <td><input name="status" type="radio" value="Privat" checked>
      Privatperson
      <input type="radio" name="status" value="Företag">
      F&ouml;retag </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/namn.gif" width="140" height="20"></td>
    <td><input name="name" type="text" class="form_kantlinje" id="name" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/birtday.gif" width="140" height="20"></td>
    <td><input name="birthday" type="text" class="form_kantlinje" size="20">Ex. (<% response.write(FormatDateTime(now(), vbShortDate)) %>)
    </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/adress.gif" width="140" height="20"></td>
    <td><input name="address" type="text" class="form_kantlinje" id="address" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/postnummer.gif" width="140" height="20"></td>
    <td><input name="zipcode" type="text" class="form_kantlinje" id="zipcode" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/ort.gif" width="140" height="20"></td>
    <td><input name="city" type="text" class="form_kantlinje" id="city" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/email.gif" width="140" height="20"></td>
    <td><input name="email" type="text" class="form_kantlinje" id="email" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/nyhetsbrev.gif" width="140" height="20"></td>
    <td><input name="news" type="radio" value="Ja tack. Jag vill ha ert nyhetsbrev" checked>
      Ja
      <input type="radio" name="news" value="Nej tack. Jag vill inte ha ert nyhetsbrev">
      Nej </td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>

    <td><input type="image" src="knappar/skicka_in.gif" width="140" height="20" border="0" onclick="AndensCorner();"></td>
  </tr>
</table>
</form>
</body>
</html>
Avatar billede roenving Novice
06. april 2004 - 21:42 #16
Måske:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Check alle felter for udfyldelse</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function checkForm(f){
    var txt = "",fjl;
    var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
    var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
    for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if ((fld.tagName=='TEXTAREA'||fld.type=="text")&&fld.value==fld.defaultValue){
            txt+="\n\t"+fld.name;
            if(!fjl)fjl = fld;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
            if(!fjl)fjl = fld;
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        fjl.select();
        fjl.focus()
        return false;
    }
    return true;
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm" action="" method="get" onsubmit="return checkForm(this);">
Input1: <input id="minInput1" name="input1" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input2: <input id="minInput2" name="Input2" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input3: <input id="minInput3" name="input3" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
E-mail: <input id="minInput4" name="Email" type="text" value="name@domain.topDomain" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Kommentar: <textarea name="Kommentar" cols="80" rows="5" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"></textarea><br><br>
<input type="submit" value="Send data">
</form>
</body>
</html>
Avatar billede and_ Nybegynder
06. april 2004 - 21:43 #17
en lidt mere avanceret løsning fra roenving :) (igen......)
Avatar billede michael_stim Ekspert
06. april 2004 - 21:46 #18
and>>Den sender mig videre og sätter data ind i tabellen bare uden det jeg ikke har udfyldt!
Avatar billede and_ Nybegynder
06. april 2004 - 21:47 #19
hmmmmmmmm, men du får vel i det mindste alert om det ikke???
Avatar billede michael_stim Ekspert
06. april 2004 - 21:48 #20
roenving>>onfocus, gör den så checket inden man submitter?
Avatar billede michael_stim Ekspert
06. april 2004 - 21:48 #21
jaja, så langt så godt :)
Avatar billede and_ Nybegynder
06. april 2004 - 22:01 #22
det eneste jeg kan sige der får galt er din submit-knap... jeg skiftede den ud og der virker upåklageligt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Rabatten</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="jourblomman.css" rel="stylesheet" type="text/css">
<script language="javascript">

    function AndensCorner()
    {
        var navn = document.inputForm.name.value;
        var fdag = document.inputForm.birthday.value;
        var lokation = document.inputForm.address.value;
        var nummer = document.inputForm.zipcode.value;
        var bynavn = document.inputForm.city.value;
        var mailadr = document.inputForm.email.value;
       
        if (navn == 0)
        {
            alert('navn skal udfyldes!');
            document.inputForm.name.focus();
            return;
        }
       
        if (fdag == 0)
        {
            alert('føsdag skal udfyldes!');
            document.inputForm.birthday.focus();
            return;
        }
       
        if (lokation == 0)
        {
            alert('adressen skal udfyldes!');
            document.inputForm.address.focus();
            return;
        }
       
        if (nummer == 0)
        {
            alert('postnr skal udfyldes!');
            document.inputForm.zipcode.focus();
            return;
        }
       
        if (bynavn == 0)
        {
            alert('byen skal udfyldes!');
            document.inputForm.city.focus();
            return;
        }
       
        if (mailadr == 0)
        {
            alert('mailen skal udfyldes!');
            document.inputForm.email.focus();
            return;
        }

        document.inputForm.submit();
    }

</script>
</head>

<body>
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td><font color="#006699">Anm&auml;l dig till Rabatten.<br>
      </font>Du kan anm&auml;la b&aring;de dig och ditt f&ouml;retag till Rabatten.
      Fyller du i ditt f&ouml;retag s&aring; fyller du i dagens datum p&aring;
      f&ouml;delsdag ist&auml;llet...<br>
      <em>Alla f&auml;lten &auml;r obligatoriska...</em></td>
  </tr>
</table>
<form name="inputForm" method="post" action="laggTillRabatten.asp">
<table width="410" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
    <td><input name="status" type="radio" value="Privat" checked>
      Privatperson
      <input type="radio" name="status" value="Företag">
      F&ouml;retag </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/namn.gif" width="140" height="20"></td>
    <td><input name="name" type="text" class="form_kantlinje" id="name" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/birtday.gif" width="140" height="20"></td>
    <td><input name="birthday" type="text" class="form_kantlinje" size="20">Ex. (<% response.write(FormatDateTime(now(), vbShortDate)) %>)
    </td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/adress.gif" width="140" height="20"></td>
    <td><input name="address" type="text" class="form_kantlinje" id="address" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/postnummer.gif" width="140" height="20"></td>
    <td><input name="zipcode" type="text" class="form_kantlinje" id="zipcode" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/ort.gif" width="140" height="20"></td>
    <td><input name="city" type="text" class="form_kantlinje" id="city" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/email.gif" width="140" height="20"></td>
    <td><input name="email" type="text" class="form_kantlinje" id="email" size="20"></td>
  </tr>
  <tr>
    <td width="140"><img src="knappar/nyhetsbrev.gif" width="140" height="20"></td>
    <td><input name="news" type="radio" value="Ja tack. Jag vill ha ert nyhetsbrev" checked>
      Ja
      <input type="radio" name="news" value="Nej tack. Jag vill inte ha ert nyhetsbrev">
      Nej </td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td width="140">&nbsp;</td>

    <td><input typ="button" value=" clicky " onclick="AndensCorner();"><!--<input type="image" src="knappar/skicka_in.gif" width="140" height="20" border="0" onclick="AndensCorner();">--></td>
  </tr>
</table>
</form>
</body>
</html>
Avatar billede roenving Novice
06. april 2004 - 22:02 #23
Nu er den jeg smed en kombination af en smartInput, hvor der er hjælpe-tekst i felterne og så en check af alle ...

onfocus sørger for at hjælpe-teksten forsvinder !-)
Avatar billede michael_stim Ekspert
06. april 2004 - 22:09 #24
and>>Hmmmm.... Märkeligt, men det fungerer med en alm. knap. Det må jeg lige kikke närmere på, men det fungerer så läg lige et svar.
Avatar billede and_ Nybegynder
06. april 2004 - 22:23 #25
..... Det kan evt. tænkes (scripting-sprogets veje er uransaglige....) at det er fordi at du bruger name, da det er et reserveret ord.... overvej at skifte det ud...
Avatar billede michael_stim Ekspert
06. april 2004 - 22:25 #26
OK, tusind tak for hjälpen, og roenving vil lige kikke närmere på dit script hvis det er OK.
Avatar billede roenving Novice
06. april 2004 - 22:34 #27
.name vil i hvert fald give fejl, da et form-objekt allerede har en name-property ...
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging