Avatar billede pablo Nybegynder
13. december 2002 - 01:02 Der er 5 kommentarer og
1 løsning

Max. værdi i tekstfelt

Hej

Jeg har et antal tekstfelter i en form, hvor man kun må skrive tal i. Til dette bruger jeg en onkeypress på tekstfeltet hver gang der tastes i feltet, som kalder følgende script:

ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;

function kp(dummy) {
  if (ns4) {if (dummy.which==13 || dummy.which==9) { /*ok*/ }
            else if (dummy.which<48 || dummy.which>57) {alert('Skriv KUN tal');}
          }
  if (ie4) {dummy=window.event; if (dummy.keyCode==13 || dummy.keyCode==9) { /*ok*/ }
            else if (dummy.keyCode<48 || dummy.keyCode>57) {alert('Skriv KUN tal');
            dummy.cancelBubble=true;dummy.keyCode=0;}
              }
}

Problemet er, hvordan indbygger jeg et tjek på, at der totalt i feltet IKKE er tastet højere end 23 ?

Jeg kunne godt ønske mig, at hvis der tastes højere end 23, så slettes/tømmes pågældende felt hvorefter der fremkommer en alert-box.

I det store hele, så må formen ikke submittes hvis der er værdier større end de 23.

Er der nogen der har en løsning på mit problem?
Avatar billede skg Nybegynder
13. december 2002 - 01:11 #1
du kan evt. sætte en maxlength på dine felter, og så checke om value.length == maxlength
Avatar billede pablo Nybegynder
13. december 2002 - 01:16 #2
Jeg har allerede sat maxlength til 2 (cifre), men der er det jo muligt at skrive større værdier end 23.

Jeg har en anden ide: Når jeg submitter formen kalder jeg i forvejen et javascript. Jeg må kunne lave et eller andet med,

if felt1.value>23 then
alert(et-eller-andet)
stop submission

Jeg er ikke en haj til syntaxen i javascript, så måske der er en venlig sjæl der kan klare den for mig?
Avatar billede pablo Nybegynder
13. december 2002 - 01:22 #3
Jeg har selv fundet ud af det.

        if (form1.felt1.value > 23)
            {
                alert("Indtast en værdi i feltet \"felt1\".");
                form1.felt1.focus();
                return (false);
            }

Ellers tak for hjælpen...
Avatar billede skg Nybegynder
13. december 2002 - 01:23 #4
nåååå.. på den måde...

jamen, så er det jo:

function kp(dummy) {
  var kc = ns4?dummy.which:event.keyCode
  if(kc<48||kc>57){
    alert('Skriv kun tal');
    return false;
  }
  var num = parseInt(hvadditformfelthedder.value)
  return(!IsNaN(num) && num<=23){
}
Avatar billede skg Nybegynder
13. december 2002 - 01:23 #5
tsk tsk ...
Avatar billede Slettet bruger
13. december 2002 - 02:18 #6
Du bør bruge document.getElementById() i stedet for document.all og document.layer. Din kode vil ikke virke i mange nye browsere.
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