27. januar 2006 - 20:24Der er
10 kommentarer og 1 løsning
Textbox med et beløb der skal tjekkes
Jeg har en textbox hvor man skal taste et beløb ind, men jeg har problemer med at lave en kode der tjekker om der er komma i beløbet og om det er et korrekt beløb:
xxx,xx
Så hvis der ikke er noget komma skal den selv tilføje ,00 og hvis der er komma og der er mere end 2 tegn efter det skal den skrive en fejlbesked. Er der en der kan hjælpe?
Ha, det ville da være mærkeligt andet, når fjolset her har skrevet det i javascript! ;-) Her følger en oversættelse (ikke testet):
function parseBeloeb(str) dim re1, re2 Set re1 = New RegExp re1.Pattern = "^[0-9]+$" re1.IgnoreCase = True re1.Global = True
Set re2 = New RegExp re2.Pattern = "^[0-9]+,[0-9]{2}$" re2.IgnoreCase = True re2.Global = True
if re1.test(str) then parseBeloeb = str+",00" elseif re2.test(str) then parseBeloeb = str else WScript.Echo "FEJL" parseBeloeb = "FEJL" end if end function
<% if Request.ServerVariables("REQUEST_METHOD") = "POST" then %>
<% function parseBeloeb(str) dim re1, re2 Set re1 = New RegExp re1.Pattern = "^[0-9]+$" re1.IgnoreCase = True re1.Global = True
Set re2 = New RegExp re2.Pattern = "^[0-9]+,[0-9]{2}$" re2.IgnoreCase = True re2.Global = True
if re1.test(str) then parseBeloeb = str+",00" elseif re2.test(str) then parseBeloeb = str else WScript.Echo "FEJL" parseBeloeb = "Fejl i beløbet" end if end function %>
type_be = Request.Form("type") tegn = Request.Form("tegn") beloeb_be = Request.Form("beloeb") beloeb = parseBeloeb(beloeb_be) tekst = Request.Form("tekst") kasser = Request.Form("kasser") konto = Request.Form("konto") nota = Request.Form("nota") dato = Request.Form("datoT")
if tekst = "" then tekst_fejl = "<br>" & font_a & "* Du har ikke skrevet en kort tekst" & font_b end if if beloeb_be = "" then beloeb_fejl = font_a & "* Du har ikke skrevet et beløb" & font_b end if if dato = "" then dato_fejl = font_a & "* Du skal vælge dato for købet" & font_b end if
if tekst <> "" and beloeb <> "" and dato <> "" then
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("konto.mdb")
Set Sprs = Server.CreateObject("ADODB.RecordSet") strSQL = "select * from konto" Sprs.Open strSQL, Conn, 2, 2
Sprs.AddNew Sprs("navn") = rs("navn") Sprs("type") = type_be Sprs("tekst") = tekst Sprs("tegn") = tegn Sprs("beloeb") = beloeb Sprs("nota") = nota Sprs("dato") = (FormatDateTime(Now, vbShortDate)) Sprs("kl") = (FormatDateTime(Now, vbLongTime)) Sprs("datoT") = dato
if kasser = "ON" then SQLkasser = True else SQLkasser = False end if Sprs("kasser") = SQLkasser
if konto = "ON" then SQLkonto = True else SQLkonto = False end if Sprs("konto") = SQLkonto
Sprs.Update
Sprs.Close set Sprs = Nothing Conn.Close set Conn = Nothing Response.Redirect("konto.asp")
end if end if%> ------------------------------------------------------------------- Og det skulle gerne være sådan at hvis indholdet ikke stemmer overens med et beløb xxx,xx så kan det ikke gemmes, der skal der så udskrives denne fejlbesked og det indtastede skal gerne gemmes i feltet!
Det skulle også gerne være sådan at man ikke kan gemme bogstaver i beløbfeltet!
WScript.Echo "FEJL" parseBeloeb = "Fejl i beløbet"
til:
parseBeloeb = ""
og tilføj ved de andre tjek noget ala:
if beloeb = "" And beloeb_be <> "" then beloeb_fejl = font_a & "* Du har indtastet et ugyldigt beløb" & font_b end if
Synes godt om
Ny brugerNybegynder
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.