Avatar billede no_doubt Nybegynder
19. juni 2003 - 19:11 Der er 16 kommentarer og
1 løsning

jeg vil gerne have valideret

Jeg har t1, t2 og t3, der skal tjekkes i alle felterne for om der er skrevet hvis der ikke er skrevet skal der stå " du mangler at skrive i OG SÅ FELTET" men specielt er det, at der skal være et input som er mellem 0-7 i felt t3
Avatar billede roenving Novice
19. juni 2003 - 19:20 #1
function valider(f){
  var fejl = "Du mangler at angive noget i ";
  var merfejl = "";
  if (f.t1.value=="")merfejl+="feltet t1";
  if (f.t2.value==""){
    if (merfejl!="")merfejl+=" og feltet t2";
    else merfejl+="feltet t2";
  }
  if(parseInt(f.t3.value)<0 || parseInt(f.t3.value)>7){
    if (merfejl!="")merfejl+=" og korrekt værdi i feltet t3";
    else merfejl+="korrekt værdi i feltet t3";
  }
  if (merfejl!=""){
    alert(fejl+merfejl);
    return false;
  }
  return true;
}

og så kalde det fra onsubmit:

<form ... onsubmit="valider(this);">
Avatar billede no_doubt Nybegynder
19. juni 2003 - 19:35 #2
Avatar billede roenving Novice
19. juni 2003 - 19:39 #3
Hvordan ?
Avatar billede no_doubt Nybegynder
19. juni 2003 - 19:39 #4
Okay det skal ikke sende før oplysninger holder, og T3 skal valideres som de andre men bare med den ekstra ting som beskrevet
Avatar billede roenving Novice
19. juni 2003 - 19:41 #5
-- jeg havde også glemt:

<form ... onsubmit="return valider(this);">
Avatar billede no_doubt Nybegynder
19. juni 2003 - 19:48 #6
kunne man lave noget på selve feltet som tjekkede for om det var mellem 0-7 og så bruge en normal validering af et af felterne af gange det ville være bedre
Avatar billede roenving Novice
19. juni 2003 - 19:58 #7
Ja vi kunne lave en input-maske, som kun accepterer 0-7:

<html><head>
<TITLE>Validering kun eet tal 0-7</TITLE>
<META NAME="keywords" CONTENT="roenving;http://www.eksperten.dk/spm/366902">
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<script LANGUAGE="javascript" TYPE="text/javascript">
var newVal="";
var repeatRemove=0;
function getCharCode(e){
return (e.which)?e.which:e.keyCode;
}
function restoreVal(eC,fld){
    if (eC==8||repeatRemove>0){
        if (newVal.length>repeatRemove){
            newVal=newVal.substring(0,newVal.length-repeatRemove)
        }else{
            newVal="";
        }
    }
    repeatRemove=0;
    fld.value=newVal;
}
function inputTal(e,fld){
removeChar=false;
newVal=fld.value;
charCode = getCharCode(e);
if (fld.value.length>0 || charCode>55 || charCode<48){
    return false;
}
newVal=String.fromCharCode(charCode)
return true;
}
</SCRIPT>
</HEAD>
<BODY>
<form>
<INPUT type="text" name="date" value="" onkeydown="if(getCharCode(event)==8)repeatRemove++;" onkeypress="return inputTal(event,this);" onkeyup="restoreVal(getCharCode(event),this);this.focus();">
</FORM>
</body>
</HTML>
Avatar billede no_doubt Nybegynder
19. juni 2003 - 23:28 #8
her er min form kan du flette resten ind i ?
<form method="POST" onsubmit="return valider(this)" action="default.asp">
      <script language="JavaScript"><!--
tjaaa.. valideringen
// --></script>
        <div align="center">
          <center>
          <table border="1" width="412" cellspacing="0">
            <tr>
              <td width="213"><font face="Arial" size="2">
        Navn:&nbsp; </font></td>
              <td width="185"><input type="text" name="T1" size="20"></td>
            </tr>
            <tr>
              <td width="213" valign="top"><font face="Arial" size="2">Kommentar: </font></td>
              <td width="185"><font face="Arial" size="2"><textarea rows="4" name="T2" cols="26"></textarea> </font></td>
            </tr>
            <tr>
              <td width="213"><font face="Arial" size="2">
        Antal dage du er på pladsen: </font></td>
              <td width="185"><input type="text" name="T3" size="3"></td>
            </tr>
            <tr>
              <td width="398" colspan="2">
                <p align="center"><input type="submit" value="Send" name="B1"> <input type="reset" value="Slet alt" name="B2"></td>
            </tr>
          </table>
          </center>
        </div>
      </form>
Avatar billede macho Praktikant
19. juni 2003 - 23:47 #9
Ikke fordi jeg egntlig vil blande mig (jeg har stor respekt for Rønving's kunnen), men vil det ikke være smartere at lave en "drop-down" box til feltet T3, som kun så har en liste "0","1".....osv op til "7", og så lave en validering på denne drop-down box ?
Avatar billede macho Praktikant
20. juni 2003 - 07:54 #10
Ved at bruge Rønving's input-maske sammen med en validering, kunne hele din form se sådan ud (med tre alm. tekst-felter, som du har nu):

<html>

<head>
<title>No title</title>
<script LANGUAGE="javascript" TYPE="text/javascript">
var newVal="";
var repeatRemove=0;
function getCharCode(e){
return (e.which)?e.which:e.keyCode;
}
function restoreVal(eC,fld){
    if (eC==8||repeatRemove>0){
        if (newVal.length>repeatRemove){
            newVal=newVal.substring(0,newVal.length-repeatRemove)
        }else{
            newVal="";
        }
    }
    repeatRemove=0;
    fld.value=newVal;
}
function inputTal(e,fld){
removeChar=false;
newVal=fld.value;
charCode = getCharCode(e);
if (fld.value.length>0 || charCode>55 || charCode<48){
    return false;
}
newVal=String.fromCharCode(charCode)
return true;
}


function validRequired(formField,fieldLabel)
{
  var result = true;
 
  if (formField.value == "")
  {
    alert('Venligst udfyld følgende felt:\n\n "' + fieldLabel +'"');
    formField.focus();
    result = false;
  }
 
  return result;
}

function validateForm(theForm)
{
  // Customize these calls for your form

  // Start ------->
  if (!validRequired(theForm.t1,"Navn"))
    return false;
   
  if (!validRequired(theForm.t2,"Kommentarer"))
    return false;

  if (!validRequired(theForm.t3,"Antal dage på pladsen"))
    return false;
  // <--------- End
 
  return true;
}
</script>

</SCRIPT>
</head>

<body>

<form method="POST" onsubmit="return validateForm(this)" action="default.asp">

        <div align="center">
          <center>
          <table border="1" width="412" cellspacing="0">
            <tr>
              <td width="213">
        <font face="Arial" size="2">Navn:&nbsp; </font></td>
              <td width="185"><input type="text" name="t1" size="20"></td>
            </tr>
            <tr>
              <td width="213" valign="top"><font face="Arial" size="2">Kommentar: </font></td>
              <td width="185"><font face="Arial" size="2"><textarea rows="4" name="t2" cols="26"></textarea> </font></td>
            </tr>
            <tr>
              <td width="213">
        <font face="Arial" size="2">Antal dage du er på pladsen: </font></td>
              <td width="185">
          <INPUT type="text" name="t3" value="" onkeydown="if(getCharCode(event)==8)repeatRemove++;" onkeypress="return inputTal(event,this);" onkeyup="restoreVal(getCharCode(event),this);this.focus();">
          </td>
            </tr>
            <tr>
              <td width="398" colspan="2">
                <p align="center"><input type="submit" value="Send" name="B1"> <input type="reset" value="Slet alt" name="B2"></td>
            </tr>
          </table>
          </center>
        </div>
      </form>
</body>

</html>

Der valideres på ét felt af gangen.
Avatar billede macho Praktikant
20. juni 2003 - 07:57 #11
en enkelt lille (ubetydelig brøler):
der skal lige fjernes det ene </SCRIPT>, som blev sat for meget ind i linje 67.
Avatar billede no_doubt Nybegynder
24. juni 2003 - 14:03 #12
Macho vil du svare validerede bare felt T1 og T2 og satte en dropdown på.
Avatar billede macho Praktikant
24. juni 2003 - 14:23 #13
Så fjerner vi input-masken til T3 igen, og den færdige formular kan se således ud:

<html>

<head>
<title>No title</title>
<script LANGUAGE="javascript" TYPE="text/javascript">


function validRequired(formField,fieldLabel)
{
  var result = true;
 
  if (formField.value == "")
  {
    alert('Venligst udfyld følgende felt:\n\n "' + fieldLabel +'"');
    formField.focus();
    result = false;
  }
 
  return result;
}

function validateForm(theForm)
{
  // Customize these calls for your form

  // Start ------->
  if (!validRequired(theForm.t1,"Navn"))
    return false;
   
  if (!validRequired(theForm.t2,"Kommentarer"))
    return false;

  if (!validRequired(theForm.t3,"Antal dage på pladsen"))
    return false;
  // <--------- End
 
  return true;
}
</script>

</SCRIPT>
</head>

<body>

<form method="POST" onsubmit="return validateForm(this)" action="default.asp">

        <div align="center">
          <center>
          <table border="1" width="412" cellspacing="0">
            <tr>
              <td width="213">
        <font face="Arial" size="2">Navn:&nbsp; </font></td>
              <td width="185"><input type="text" name="t1" size="20"></td>
            </tr>
            <tr>
              <td width="213" valign="top"><font face="Arial" size="2">Kommentar: </font></td>
              <td width="185"><font face="Arial" size="2"><textarea rows="4" name="t2" cols="26"></textarea> </font></td>
            </tr>
            <tr>
              <td width="213">
        <font face="Arial" size="2">Antal dage du er på pladsen: </font></td>
              <td width="185">
          <select name="t3" size="1">
                        <option selected>*  Vælg antal dage på pladsen  *</option>
                        <option value="0">0</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                        <option value="7">7</option>
                        </select>
          </td>
            </tr>
            <tr>
              <td width="398" colspan="2">
                <p align="center"><input type="submit" value="Send" name="B1"> <input type="reset" value="Slet alt" name="B2"></td>
            </tr>
          </table>
          </center>
        </div>
      </form>
</body>

</html>
Avatar billede macho Praktikant
24. juni 2003 - 14:25 #14
Oops, jeg bliver ved med at have et </SCRIPT> for meget lige før <body>.....
Avatar billede macho Praktikant
24. juni 2003 - 14:26 #15
Eller skulle du slet ikke have valideret drop-down boxen? Jeg troede du ville have det som et krav, at folk skulle vælge "Antal dage på pladsen". Vi kan sagtens fjerne den validering, hvis du vil have det! :-)
Avatar billede macho Praktikant
28. juni 2003 - 10:08 #16
-> no doubt
Har du fundet en færdig løsning på dit problem, så vi kan afslutte spørgsmålet?
Avatar billede no_doubt Nybegynder
28. juli 2003 - 13:11 #17
Godtaget..
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