Avatar billede meyer Nybegynder
20. november 2000 - 10:13 Der er 25 kommentarer og
6 løsninger

ALERT!!...ved fejlindtastning

Jeg lister en masse varer i et loop fra min database og mangler en alert der popper frem hvis man i antalfeltet skriver andet end tal.

f.eks.
-------------------------
do while not rs.eof

<form name\"??\">
<input type=\"text\" name=\"antal\" value=\"1\">
</form>
rs.movenext
loop
---------------------
Avatar billede stig3 Mester
20. november 2000 - 10:15 #1
Det skal du nok lave i javascript

Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:17 #2
Altså du manger noget der checker for om, når formen submittes, antal.value kun er en talværdi ?
Avatar billede meyer Nybegynder
20. november 2000 - 10:18 #3
tdaugaard>>den skal alerte med det samme når man trykker på andet end en taltast :-)
Avatar billede jimmidreng Nybegynder
20. november 2000 - 10:18 #4
Her er en sjover jeg bruger meget:

<% If Session(\"error\") <> \"\" Then %>
<Script Language=\"VbScript\">
Msgbox (Session(\"Error\"))
</Script>
<%
Session(\"Error\") = \"\"
End IF%>
Avatar billede ahl Nybegynder
20. november 2000 - 10:18 #5
du kan bruge asp-kommandoen, isnumeric hvis den er true så er kun tal der står i feltet, hvis false så er det selvfølgelig den omvendte (men der kan jo stadig godt være tal i!!)
Avatar billede jimmidreng Nybegynder
20. november 2000 - 10:19 #6
If IsNummeric(Tal) = False Then Bla bla bla
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:20 #7
jimmidreng:> Den kan jo ligesom ikke bruges til noget ...

Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:20 #8
Sådan noget her skal helst gøres i client-side JavaScript .. det er bedst.
Avatar billede ahl Nybegynder
20. november 2000 - 10:22 #9
.. eller
<%
if IsMummeric(streng) = true then
response.write \"<script language=\'javascript\'>window.alert(\'Fejl i feltet\')</script>\"
end if
%>
Avatar billede meyer Nybegynder
20. november 2000 - 10:23 #10
Ok...har den her - men den virker kun ved EN form og jeg lister jo mange med forskellige navne :

<html>
<head>
<SCRIPT LANGUAGE=\"JavaScript1.2\">
<!--
  ns4 = (document.layers)? true:false;
  ie4 = (document.all)? true:false;
  function kp(e) {
    if (ns4) {if (e.which==13 || e.which==9) { /*ok*/ }
              else if (e.which<48 || e.which>57) {alert(\'Skriv KUN tal\');}

            }
    if (ie4) {e=window.event; if (e.keyCode==13 || e.keyCode==9) { /*ok*/ }
              else if (e.keyCode<48 || e.keyCode>57) {alert(\'Skriv KUN tal\');
      e.cancelBubble=true;e.keyCode=0;}
      }
  }
  function init() {
    document.f.Antal.onkeypress=kp;
  }
//-->
</script>
</head>
<body onload=\"init();\">
<form name=\"f\">
<input type=\"text\" name=\"Antal\" value=\"1\">

</form>

Avatar billede meyer Nybegynder
20. november 2000 - 10:24 #11
..lister mange som SKAL ha\' forskellige navne mener jeg.. :-)
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:25 #12
så bruger du bare:

<input type=\"text\" name=\"antal\" value=\"1\" onchange=\"kp(this);\">

hvis det du kom med ellers virker..
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:26 #13
det er ikke formen men feltet du validere her on the fly, så den kan godt bruges skulle jeg mene ..
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:28 #14
Fandt lige ud af at du kan bruge:

isNaN() til at checke om en værdi er en talværdi.
(is Not a Number)

ref. http://www.eksperten.dk/spm/8347
Avatar billede ahl Nybegynder
20. november 2000 - 10:30 #15
det her virker 100%
<%
if not IsNumeric(streng) = true then
response.write \"<script language=\'javascript\'>window.alert(\'Fejl i feltet\')</script>\"
end if
%>
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:31 #16
<script>
function validate_form(form) {
  if (isNaN(form.antal) {
      alert(\'Skriv venligst kun tal i feltet \\\'Antal\'\\\');
      return (false);
  }

  return (true);
}
</script>
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:33 #17
ahl:> ja, men ved at bruge ASP skal man først loade siden igen og vente på \"fejlen\". Med client-side JavaScript klares det INDEN at du egentlig submitter siden.

<script>
function validate_form(form) {
  if (isNaN(form.antal) {
      alert(\'Skriv venligst kun tal i feltet \\\'Antal\'\\\');
      return (false);
  }

  return (true);
}
</script>

<form action=\"bla bla\" method=\"post\" name=\"noget\" onsubmit=\"return validate_form(this);\">
<input type=\"text\" name=\"antal\" value=\"1\">
</form>

man kan vel altid lidt JavaScript ;)
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:37 #18
Så, meyer .. alt i alt kan du bruge:

<html>
<head>
<SCRIPT LANGUAGE=\"JavaScript1.2\">
<!--
  function validate_form(form) {
    if (isNaN(form.antal) {
      alert(\'Skriv venligst kun tal i feltet \\\'Antal\'\\\');
      return (false);
    }

    return (true);
  }
//-->
</script>
</head>
<body onload=\"init();\">
<form name=\"f\" method=\"post\" action=\"dinside.asp\" onsubmit=\"return validate_form(this);\">
<input type=\"text\" name=\"Antal\" value=\"1\">
</form>

hvis ikke jeg tager meget fejl.
Avatar billede ahl Nybegynder
20. november 2000 - 10:42 #19
tdaugaard: den siger der fejl i feltet ligemeget om man skriver tal eller bogstaver!
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:44 #20
DOH!!

Ja, klat .. jeg havde glemt .. .value ..

<html>
<head>
<SCRIPT LANGUAGE=\"JavaScript1.2\">
<!--
  function validate_form(form) {
    if (isNaN(form.antal.value) {
      alert(\'Skriv venligst kun tal i feltet \\\'Antal\'\\\');
      return (false);
    }

    return (true);
  }
//-->
</script>
</head>
<body onload=\"init();\">
<form name=\"f\" method=\"post\" action=\"dinside.asp\" onsubmit=\"return validate_form(this);\">
<input type=\"text\" name=\"Antal\" value=\"1\">
</form>
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:45 #21
\"ja klart\" skulle der ha\' stået.
Avatar billede meyer Nybegynder
20. november 2000 - 10:47 #22
tdaugaard>>Den SKAL alerte lige så snart man trykker på et bogstav som den jeg sendte !!
Avatar billede ahl Nybegynder
20. november 2000 - 10:47 #23
tegnet er ugyldigt, og et objekt var ventet!
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:49 #24
meyer:> nå for pokker .. det snakkede du jo ikke noget om. Men det skulle vel ikke være så svært ..
Avatar billede meyer Nybegynder
20. november 2000 - 10:51 #25
:-)
Avatar billede tdaugaard Nybegynder
20. november 2000 - 10:52 #26
ahl:> så lige jeg også manglede en parantes-slut ..
Avatar billede ahl Nybegynder
20. november 2000 - 11:04 #27
det løser faktisk heller ikke problemet!
Avatar billede tdaugaard Nybegynder
20. november 2000 - 11:05 #28
meyer:> jeg er sku for træt til lige at tænkte JavaScript .. så enten må du vente til jeg står op igen ..(har ikk sovet i nat ..) eller også må du bikse noget sammen af din og min kode.
Avatar billede tdaugaard Nybegynder
20. november 2000 - 11:06 #29
ahl:>

der er mange fejl i det .. det kan jeg se nu ..

<!--
  function validate_form(form) {
    if (isNaN(form.antal.value)) {
      alert(\'Skriv venligst kun tal i feltet \\\'Antal\\\'\');
      return (false);
    }

    return (true);
  }
//-->

skulle meget geren virke ..
Avatar billede 2fyrefrabrande Nybegynder
29. november 2000 - 02:06 #30
HeyYo Meyer, min mand!

Jeg ser du gerne vil ha\' at dyret alerter i dit fjæs når man tagger noget whackt shit (bogstaver).

Derfor:
I stedet for at køre klatten af på \"onSubmit\", skal du hellere tage at rykke sådan en her ind i dine inputfelter:

<input type=\"text\" name=\"input1\" onKeyUp=\"java script: checkItOut(\'input1\')\">
(feltets navn kan du sikkert selv genere med noget deft dynamik i din asp)

Og din funktion vil smage sådan her:

function checkItOut(field){

    if(isNaN(document.form1[field].value)){
        alert(\'Her må kun bommes med tal!\');
        document.form1[field].value = \"\";
        document.form1[field].focus();
    }
}


Fixin\' them scripts...

http://www.2fyrefrabrande.dk
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:36 #31
2fyrefrabrande:>

\"Jeg ser du gerne vil ha\' at dyret alerter i dit fjæs når man tagger noget whackt shit (bogstaver).\"

\"I stedet for at køre klatten af på \"onSubmit\", skal du hellere tage at rykke sådan en her ind i dine inputfelter:\"

\"Og din funktion vil smage sådan her:\"

hvad er det for noget lort at fyre af ?
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
Kurser inden for grundlæggende programmering

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