Avatar billede sthen Nybegynder
13. juni 2005 - 20:44 Der er 9 kommentarer og
1 løsning

Kontrollere at tal1 er mindre end tal2

Har en form med nogle indtastningsfelter.
Har brug for at få kontrolleret at:
tal1 er mindre end tal2
Hvordan ?
Avatar billede sthen Nybegynder
13. juni 2005 - 20:46 #1
Altså hvis tal2 > tal 1, så alert("Nope den går ikke");
Avatar billede sthen Nybegynder
13. juni 2005 - 20:46 #2
Omvendt hvis tal1 > tal 2, så ...
Avatar billede skovenborg Nybegynder
13. juni 2005 - 20:57 #3
Hvornår vil du teste det?

Et eksempel kunne i hvert fald være:
<script type="text/javascript">
function compare(tal1,tal2) {
    return parseInt(tal1)<parseInt(tal2);
}
</script>

og så:
<form>
<input type="text" name="tal1"><input type="text" name="tal2">
<input type="button" value="Check tal" onclick="if (compare(this.form.tal1.value,this.form.tal2.value)) {alert('Ja, det er det');} else {alert('Nope den går ikke');}">
</form>
Avatar billede sthen Nybegynder
13. juni 2005 - 21:07 #4
Jeg havde forestillet mig at teste det, når der blev trykket på submit.

Har en del funktioner der kontrollerer andre ting i samme form, men kan bare ikke få dette til at makke ret.

Ville være rart, hvis alert-delen lå i <head>, hvor de andre valideringer foretages.
Avatar billede sthen Nybegynder
13. juni 2005 - 21:08 #5
De øvrige tests kan du se her:

    <script language="JavaScript">
  function opretCheck(f){
    if (f.aktivitet.value == ""){
      alert("Du glemte at vælge en aktivitet");
      f.aktivitet.focus();
      return false;
    }
    if (f.fromh.value == ""){
      alert("Du glemte at skrive starttidspunkt");
      f.fromh.focus();
      return false;
    }
    if (!f.fromh.value.match(/^[0-1]\d|2[0-4]$/)){
      alert("Timeangivelsen skal være i 2 cifre og imellem 00 og 24");
      f.fromh.focus()
      return false;
        }
    if (f.fromm.value == ""){
      alert("Du glemte at skrive starttidspunkt");
      f.fromm.focus();
      return false;
    }
    if (!f.fromm.value.match(/^[0-5]\d$/)){
      alert("Minutangivelsen skal være i 2 cifre og imellem 00 og 59");
      f.fromm.focus()
      return false;
        }
    if (f.toh.value == ""){
      alert("Du glemte at skrive sluttidspunkt");
      f.toh.focus();
      return false;
    }
    if (!f.toh.value.match(/^[0-1]\d|2[0-4]$/)){
      alert("Timeangivelsen skal være i 2 cifre og imellem 00 og 24");
      f.toh.focus()
      return false;
        }
    if (f.tom.value == ""){
      alert("Du glemte at skrive sluttidspunkt");
      f.tom.focus();
      return false;
    }
    if (!f.tom.value.match(/^[0-5]\d$/)){
      alert("Minutangivelsen skal være i 2 cifre  og imellem 00 og 59");
      f.tom.focus()
      return false;
        }

    if(!document.forms['opret'].kiru.checked && !document.forms['opret'].sisk.checked && !document.forms['opret'].mrlok.checked && !document.forms['opret'].konf1.checked && !document.forms['opret'].konf2.checked && !document.forms['opret'].kok.checked && !document.forms['opret'].kld.checked && !document.forms['opret'].ingen.checked) {
    alert("Lokaleoplysninger mangler");
    return false;
    }

    if(!document.forms['opret'].hjemmeside[0].checked && !document.forms['opret'].hjemmeside[1].checked) {
    alert("Skal arrangementet på hjemmesiden ?");
    return false;
    }
    if(document.forms['opret'].gentag[0].checked || document.forms['opret'].gentag[1].checked) {
    if (f.lastd.value == ""){
        alert("Du glemte at skrive sluttidspunkt");
        f.lastd.focus();
        return false;
    }
    if (f.lastm.value == ""){
        alert("Du glemte at skrive sluttidspunkt");
        f.lastm.focus();
        return false;
    }
    if (f.lasty.value == ""){
        alert("Du glemte at skrive sluttidspunkt");
        f.lasty.focus();
        return false;
    }
        if (!f.lastd.value.match(/^\d{2}$/)){
          alert("Dato skal bestå af 2 cifre ");
          f.lastd.focus()
          return false;
        }
        if (!f.lastm.value.match(/^\d{2}$/)){
          alert("Måneden skal bestå af 2 cifre ");
          f.lastm.focus()
          return false;
        }
        if (!f.lasty.value.match(/^\d{4}$/)){
          alert("Årstal skal bestå af 4 cifre ");
          f.lasty.focus()
          return false;
        }
      return true;
    }
  return true;
  }

</script>
Avatar billede skovenborg Nybegynder
13. juni 2005 - 21:54 #6
Det kan du også. Du kan jo fx tilføje:
if (parseInt(f.tal1.value) >= parseInt(f.tal2.value)) {
  alert("Fy skamme. Tal1 er jo ikke mindre end tal2");
  f.tal1.focus();
  return false;
}
Du skal bare huske at lave de forskellige value's om til tal hvis du vil teste dem på den måde.
Avatar billede sthen Nybegynder
13. juni 2005 - 22:00 #7
Manne tak - og et svar tak.
Avatar billede sthen Nybegynder
13. juni 2005 - 22:00 #8
Det fungerede nemlig
Avatar billede skovenborg Nybegynder
13. juni 2005 - 22:12 #9
Super :-)

Et stk. svar på vej...
Avatar billede roenving Novice
13. juni 2005 - 23:01 #10
-- og til den slags skal man nok tilføje hvilket talsystem man bruger:

if (parseInt(f.tal1.value,10) >= parseInt(f.tal2.value,10)) {

-- så man ikke får problemer hvis brugeren indtaster f.eks. 075 (som ellers vil blive tolket som 61 !-)
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