Avatar billede wolmer Nybegynder
13. september 2012 - 13:49 Der er 5 kommentarer og
1 løsning

Validering af 2 felter samtidigt

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Nytprodukt</title>
</head>

<body>

<script language="javascript">

function validform(theform) {
var ok_data=true;

var filter = /^([0-9\-]){1,}$/;
if (filter.test(theform.varenr.value) == false) {
alert("varenr skal udfyldes med tal !");
theform.varenr.style.backgroundColor="#DDDDDD";
theform.varenr.focus();
ok_data = false;

}

var filter = /^([0-9\-\,\.\ \A-ZÆØÅ\a-zæøå]){1,}$/;
if (filter.test(theform.varenavn.value) == false) {
alert("varenavn skal udfyldes !");
theform.varenavn.style.backgroundColor="#DDDDDD";
theform.varenavn.focus();
ok_data = false;

}

if (theform.varenavn.value.length >50){
alert("Der må kun indtastes max. 50 karakterer i feltet Varenavn !");
theform.varenavn.style.backgroundColor="#DDDDDD";
theform.varenavn.focus();
return false;
}

if (theform.varebeskrivelse.value.length >150){
alert("Der må kun indtastes max. 150 karakterer i feltet Varebeskrivelse !");
theform.varebeskrivelse.style.backgroundColor="#DDDDDD";
theform.varebeskrivelse.focus();
return false;
}

if (theform.varefoto.value == "") {
theform.varefoto.style.backgroundColor="#DDDDDD";
alert("Varefoto skal indsættes !");
theform.varefoto.focus();
ok_data = false;

}
---------------------------------------------------------
var filter = /^([0-9\,]){1,}$/;
if (filter.test(theform.normalpris.value) == false) {
alert("Normalpris skal udfyldes med tal og 2 decimaler f.eks.100,00 !");
theform.normalpris.style.backgroundColor="#DDDDDD";
theform.normalpris.focus();
ok_data = false;

}
     
var filter = /^([0-9\,]){1,}$/;
if (filter.test(theform.tilbudspris.value) == false) {
alert("Tilbudspris skal udfyldes med tal og 2 decimaler f.eks.100,00 !");
theform.tilbudspris.style.backgroundColor="#DDDDDD";
theform.tilbudspris.focus();
ok_data = false;

}

if (theform.tilbudspris.value > theform.normalpris.value) {
alert("Tilbudsprisen skal altid være lavere end Normalprisen !");
theform.tilbudspris.style.backgroundColor="#DDDDDD";
theform.tilbudspris.focus();
ok_data = false;

}

if (theform.tilbudspris.value == theform.normalpris.value) {
alert("Tilbudsprisen skal altid være lavere end Normalprisen !");
theform.tilbudspris.style.backgroundColor="#DDDDDD";
theform.tilbudspris.focus();
ok_data = false;

}

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

return ok_data;

}

</script>


<form method="POST" action="bla.asp" onsubmit="return validform(this);" name="theform" enctype="multipart/form-data">

<input type="text" name="varenr" size="20" tabindex="1">
<input type="text" name="varenavn" size="50" tabindex="2">
<input type="file" name="varefoto" size="50" tabindex="3">
<textarea rows="10" name="varebeskrivelse" cols="75"></textarea></td>
<input type="text" name="normalpris" size="20">
<input type="text" name="tilbudspris" size="20                                       
<input type="submit" value="Gem" name="submit1" id="submit1"><input type="reset" value="Slet" name="slet"></p>
</form>
           
</body>

</html>
Avatar billede wolmer Nybegynder
13. september 2012 - 13:55 #1
FELTET NORMALPRIS SKAL ALTID UDFYLDES MED EN VALUTA MED 2 DECIMALER.

FELTET TILBUDSPRIS MÅ GERNE VÆRE TOMT, MEN HVIS DET IKKE ER TOMT, SKAL DET VÆRE EN VALUTA MED 2 DECIMALER.
BELØBET MÅ ALDRIG VÆRE LIG MED ELLER HØJERE END FELTET NORMALPRIS.

HÅBER DER ER EN VENLIG SJÆL DER KAN LØSE DENNE OPGAVE
Avatar billede olebole Juniormester
13. september 2012 - 13:59 #2
<ole>

Hvis du er færdig med at råbe, kan du svare på, om der bruges komma eller punktum som decimaldelimiter?  =)

/mvh
</bole>
Avatar billede wolmer Nybegynder
13. september 2012 - 19:51 #3
Sorry, komma som decimal. :)
Avatar billede olebole Juniormester
14. september 2012 - 13:37 #4
Jeg ville gøre det på denne måde:

function validform(theform) {
    var elm = theform.normalpris;
    var filter = /^\d+,\d{2}$/
    if (!filter.test(elm.value)) {
        alert("Normalpris skal være et tal, efterfulgt af komma og to decimaler.");
        elm.style.backgroundColor = "#ddd";
        elm.focus();
        return false;
    }
    elm.style.backgroundColor = "";
   
    elm = theform.tilbudspris;
    if (elm.value!=="") {
        filter = /^\d+,\d{2}$/;
        if (!filter.test(elm.value)) {
            alert("Hvis tilbudspris udfyldes, skal det være et tal med to decimaler.");
            elm.style.backgroundColor = "#ddd";
            elm.focus();
            return false;
        }
        if ((elm.value.replace(",", ".")*1) >= (theform.normalpris.value.replace(",", ".")*1)) {
            alert("Tilbusprisen skal være mindre en normalprisen.");
            elm.style.backgroundColor = "#ddd";
            elm.focus();
            return false;
        }
    }
    elm.style.backgroundColor = "";
    return true;
}
Avatar billede wolmer Nybegynder
14. september 2012 - 22:50 #5
fungere perfekt, tak.
Læg et svar så er der bonus :)
Avatar billede wolmer Nybegynder
28. september 2012 - 16:04 #6
.
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