Avatar billede nams Nybegynder
24. november 2003 - 22:11 Der er 8 kommentarer og
1 løsning

alert hvis felt ikke er udfylt ?

hejsa
Jeg har en helt almindelig form med nogle <input type="text">
jeg vil så gerne have at der kommer en alert hvis man trykker på submit og udvalgte felter ikke er udfylt...
hvordan gejler man lige den ?
Avatar billede roenving Novice
24. november 2003 - 22:14 #1
Alle felter:

<!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 = "";
    var regexp = /^[\w\.\-_]+@[\w\-_]+\.[\w\.\-_]+$/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;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        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>

-- hvis der er nogle som skal checkes, findes der mange andre udgaver !-)
Avatar billede jakobclausen Nybegynder
24. november 2003 - 22:16 #2
<-- Sættes ind i head-delen -->

function valider()
{
  if(document.getElementById("Header").value != ""
  {
      document.getElementById("form").submit();
  }
  else
  {
        window.alert("Fejlmeddelse");
  }

Submit knap:
input name="submit" type="button" value="Tilføj" onClick="valider()">
Avatar billede jakobclausen Nybegynder
24. november 2003 - 22:17 #3
Header - navnet på det felt du vil validere
form - navnet på den form som skal submittes
Avatar billede nams Nybegynder
24. november 2003 - 22:23 #4
okey mange tak for hjælpen.. vil du smide svar ??
Avatar billede roenving Novice
24. november 2003 - 22:26 #5
Skal jeg også smide et svar ?-)

-- så velbekomme '-)
Avatar billede nams Nybegynder
24. november 2003 - 22:28 #6
hmm ser lige der opstår problemer....
problemet er at visse type=text bestemt IKKE skal være påkrævet, så kan man ikke lave en alert ud for hver enkelt type=text ??
Avatar billede roenving Novice
24. november 2003 - 22:33 #7
Sådan så ?-)

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="keywords" content="roenving;http://www.eksperten.dk/spm/431967">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function validering(f){
  if(f.navn.value=='')    {       
    alert('Du skal udfylde feltet med dit navn!');
    f.navn.focus();
    return false;
  }
  if(f.adresse.value=='')    {       
    alert('Du skal udfylde feltet med din adresse!');
    f.adresse.focus();
    return false;
  }
  if(f.post.value=='')    {       
    alert('Du skal udfylde feltet med dit post nr.!');
    f.post.focus();
    return false;
  }
  if(f.tlf.value!=''&&!f.tlf.value.match(/^\d{8}$/))    {       
    alert('Telefonnummer skal angives med 8 cifre!');
    f.tlf.focus();
    return false;
  }
    if(f.by.value=='')    {       
    alert('Du skal udfylde feltet med din by!');
    f.by.focus();
    return false;
  }
  var regexp = /^\w{1}[\w\.\-]*@\w{1}[\w\-]*\.\w{2}\w*$/i;
  tekst=f.mail.value.toLowerCase();
  if (!regexp.test(tekst)){
      alert ("Der skal stå en gyldig e-mail adresse i tekst feltet");
      f.mail.focus();
      return false;
  }
  if(f.password1.value=='') 
  {       
    alert('Du skal udfylde feltet med dit password!');
    f.password1.focus();
    return false;
  }
}
</script>
</head>
<body>
<form action="opret.php" method="post" onsubmit="return validering(this);">
        <table border="0" cellpadding="0" cellspacing="0" width="541" height="500">
              <tr>
                <td width="120" height="35">Navn</td>
                <td width="148" height="35"><input type="text" name="navn" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120" height="35">Adresse</td>
                <td width="148" height="35"><input type="text" name="adresse" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120" height="35">Post nr.</td>
                <td width="148" height="35"><input type="text" name="post" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120" height="35">By</td>
                <td width="148" height="35"><input type="text" name="by" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120" height="35">Stedbetegnelse</td>
                <td width="148" height="35"><input type="text" name="sted" size="20"></td>
                <td width="273" height="35">&nbsp;</td>
              </tr>
              <tr>
                <td width="120" height="35">Telefon nr.</td>
                <td width="148" height="35"><input type="text" name="tlf" size="20"></td>
                <td width="273" height="35"></td>
              </tr>
              <tr>
                <td width="120" height="35">E-mail adresse</td>
                <td width="148" height="35"><input type="text" name="mail" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120" height="35">Password</td>
                <td width="148" height="35"><input type="text" name="password1" size="20"></td>
                <td width="273" height="35">*</td>
              </tr>
              <tr>
                <td width="120"></td>
                <td width="148" valign="top"></td>
                <td width="273" align="left" valign="top"><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></td>
              </tr>
            </table></form>
</body>
</html>
Avatar billede nams Nybegynder
24. november 2003 - 22:45 #8
roenving>> det har du ganske godt styr på det der ??
Tak for hjælpen... det var lige som det skulle være....
Avatar billede roenving Novice
24. november 2003 - 22:53 #9
-- Tak for points ;~}
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