Avatar billede Jman Praktikant
04. juli 2002 - 17:57 Der er 11 kommentarer og
1 løsning

Msgbox i stedet for respons.write

Hejsa!
Er der nogen der gider omsætte mine fejlbeskeder til at de kan komme frem i en msgbox -
Jeg er led og ked af at beskederne dukker op nederst på siden:

---------
'    Fejl check
        if Rekvirent = "" then
        Response.write "<b><font face='Tahoma' size='2' color='#FF0000'>Du skal skrive dine initialer</font></b><br>"
        Fejl = true
    End If
    If Len(Rekvirent) > 20 then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Dit Initial er for langt. Det er typisk på 2 eller 3 bogstaver.</font></b><br>"
        Fejl = true       
    End if
    If Betegnelse = "" then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du skal skrive en kort beskrivelse af problemet.</font></b><br>"
        Fejl = true
    End If
    If Len(Betegnelse) > 50 then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du har skrevet for meget i feltet Betegnelse. Du må max. skrive 50 bogstaver.</font></b><br>"
        Fejl = true
    End If
    If Problem = "" then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du skal beskrive dit problem.</font></b><br>"
        Fejl = true
    End If
    If Len(Problem) > 300 then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du har skrevet en for lang beskrivelse i feltet Problem.</font></b><br>"
        Fejl = true
    End If
    if Deadline = "" then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du har ikke skrevet en dato.</font></b><br>"
        Fejl = true
    end If
    if isDate(deadline) = false then
        Response.Write "<b><font face='Tahoma' size='2' color='#FF0000'>Du har ikke skrevet datoen korrekt. Det rigtige dato format er dd-mm-åååå.</font></b><br>"
        Fejl = true
    End If
---------
Avatar billede illi Nybegynder
04. juli 2002 - 18:02 #1
Så skal du bruge javascript, det kan du sagtens. Se et eksempel her, den tjecker om felterne er udfyldt.

<script language="javaScript">

function afsendelse(form) {

if (form.NAVN.value.length < 2)
  {
    alert("Husk venligst at udfylde feltet, 'NAVN'.");
    form.Udbydernavn.focus();
    return (false);
  }
if (form.Password.value.length < 2)
  {
    alert("Husk venligst at udfylde feltet, 'Password'.");
    form.Password.focus();
    return (false);
  }

return (true);
return true
}

</SCRIPT>
Avatar billede Jman Praktikant
04. juli 2002 - 18:09 #2
jeg ville egentlig helst have det i VB - hvor der tjekkes ved send og så melder den alle fejlene på en gang, så man ikke får en fejl, retter den og efterfølgende får en fejl igen
Avatar billede illi Nybegynder
04. juli 2002 - 18:11 #3
nu har jeg kun indskrevet 2. Men metoden virker inft jeg bruger den på alle mine sites.

bare husk at du først siger: if (form.Et eller andet.value.length < 2)
og så start med "{" og slut med "}"

håber du er med..

Hvis du også har et felt hvor man skal indskribe passwordet gør du sådan her:

if (form.GentagPassword.value != form.Password.value)
  {
    alert("Indtast venligst samme password.");
    form.GentagPassword.focus();
    return (false);
  }
Avatar billede illi Nybegynder
04. juli 2002 - 18:12 #4
Jeg er ikke sikker på du kan lave det i VB men det her er ligeså smart.
Avatar billede tmceu Praktikant
04. juli 2002 - 18:13 #5
Du blander tingene lidt sammen. Skal valideringen køre client-side eller server-side ? Du kan ikke sige at du vil erstatte response.write med msgbox, for ASP kører nu engang server-side. Hvad er det helt præcist du vil ?
Avatar billede KingMedia Novice
04. juli 2002 - 18:28 #6
Du kan sagtens lave det i VBscript, men du skal nok lave det clientside...

men kig her
http://activedeveloper.dk/aspdigital/2002061301.asp

der er nogle lidt smartere msgboxe :o)

/Mads
Avatar billede eagleeye Praktikant
04. juli 2002 - 19:34 #7
Ja men client side VBScript virker kun i IE.....
Avatar billede Jman Praktikant
04. juli 2002 - 20:02 #8
det er OK at det kun virker client-side - det er til vores lille intranet og der kører vi kun med ie..
Er der nogen der er frisk på at "oversætte" ovenstående ?
- jeg hæver til 100p. for det :0)
Avatar billede eagleeye Praktikant
04. juli 2002 - 20:33 #9
Så skal vi lige vide hvad hedder din Form og Input's ?
Avatar billede eagleeye Praktikant
04. juli 2002 - 21:05 #10
Her er scriptet. Jeg har lavet en form så du må rette navne til så de passer med din form:


<HTML>
<HEAD><TITLE>Forum</TITLE></HEAD>

<script language="VBScript">
function CheckForm()

  msgTxt = ""
  if document.theForm.Rekvirent.value = "" then
    msgTxt = msgTxt & "Du skal skrive dine initialer." & vbCrLf
  end if
  if Len(document.theForm.Rekvirent.value) > 20 then
    msgTxt = msgTxt & "Dit Initial er for langt. Det er typisk på 2 eller 3 bogstaver." & vbCrLf
  End if
  If document.theForm.Betegnelse.value = "" then
    msgTxt = msgTxt & "Du skal skrive en kort beskrivelse af problemet." & vbCrLf
  End If
  If Len(document.theForm.Betegnelse.value) > 50 then
    msgTxt = msgTxt & "Du har skrevet for meget i feltet Betegnelse. Du må max. skrive 50 bogstaver." & vbCrLf
  End If
  If document.theForm.Problem.value = "" then
    msgTxt = msgTxt & "Du skal beskrive dit problem." & vbCrLf
  End If
  If Len(document.theForm.Problem.value) > 300 then
    msgTxt = msgTxt & "Du har skrevet en for lang beskrivelse i feltet Problem." & vbCrLf
  End If
  if document.theForm.Deadline.value = "" then
    msgTxt = msgTxt & "Du har ikke skrevet en dato." & vbCrLf
  end If
  if isDate(document.theForm.Deadline.value) = false then
    msgTxt = msgTxt & "Du har ikke skrevet datoen korrekt. Det rigtige dato format er dd-mm-åååå." & vbCrLf
  End If 
 
  if msgTxt <> "" then
    msgBox msgTxt,0+16,"Fejl i form"
  else
    document.theForm.submit
  end if
end function
</script>
<BODY>

<form name="theForm" method="POST" action="kdfna.asp">
<input type="text" name="Rekvirent"><br>
<input type="text" name="Betegnelse"><br>
<input type="text" name="Problem"><br>
<input type="text" name="Deadline"><br>
<input type="button" name="send" value="send" onClick="checkForm()">
</form>
</BODY>
</HTML>
Avatar billede Jman Praktikant
16. juli 2002 - 13:26 #11
undskyld, min sene komentar.
Jeg kan godt få din form til at give mig msg-box nu :)
meeen - nu postes der intet i DB :(
Avatar billede Jman Praktikant
16. juli 2002 - 13:29 #12
UPS!
Det var mig - jeg var kommet til at slette insert into <rødme>
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