Avatar billede net-base.dk Nybegynder
15. november 2002 - 10:52 Der er 8 kommentarer og
1 løsning

Simpel Chat Fejl

Jeg har hentet denne chat (se source længere nede) og det går mig lidt på at den ikke sletter det man har skrevet når man sender det... er der nogle der kan rette scriptet lidt så det sletter beskeden når man har sendt det... Hvis du ikke ved hvad jeg mener kan du se det på www.net-base.dk under chat...

Der er 50 point til den der kan rette scriptet så det virker og komme med en forklaring på hvad han har lavet...

Point går til den som komme med den første rettelse der virker...



<%
    ' -----------------------------------------------------------------------
    ' Chat System
    ' Udviklet af : Tony Fonager / Netcoders.dk
    ' Dato : 8-12-1998
    ' Kommentar : Denne sourcekode må bruges frit, men ikke commercielt.
    ' Note : Der er brugt TAB på 4, ved opsætningen af source.
    ' Krav : ASP baseret NT server!
   
    ' Opdateret 28. februar 2000 af Tony Fonager!
   
    ' -----------------------------------------------------------------------

    ' standard indstillinger
    font                = "<font face='arial' size='2'>"
    page_header            = "Netcoders Chat System"
    page_bgcolor        = "#aa8833"
    page_logoncolor        = "#ffaa44"
    dato_color            = "#ffffff"
    name_color            = "#ffff00"
    text_color            = "#ffffff"

    ' cache hele outputtet
    response.buffer = true

    ' logoff URL - der hvor brugeren redirectes hen, ved at indtaste "/logoff"
    logoff_url = "http://netcoders.dk"

    ' antal synlige linier i chat vinduet
    antal_linier = 20

    ' hent dokument mode
    mode = request("mode")

   
    ' ----------------------------------------------------
    ' setup frameset
    ' ----------------------------------------------------
    if mode = "" then
    %>
    <html>
    <head><title><% = page_header %></title></head>
    <frameset rows="*,50">
        <frame src="default.asp?mode=chat_frame" name="chat_frame">
        <frame src="default.asp?mode=name_frame" name="name_frame">
    </frameset>
    </html>   
    <%
    end if


    ' ----------------------------------------------------
    ' gem ny brugers navn
    ' ----------------------------------------------------
    if mode = "savename" then
        session("chatname") = request("chatname")
        for x = antal_linier to 2 step -1
            application("chatline_" & x) = application("chatline_" & x-1)
        next
        application("chatline_1") = "<b><font color='" & page_logoncolor & "'>" & session("chatname") & " er logget på kl. " & now & "</b></font>"
        mode = "name_frame"
    end if


    ' ----------------------------------------------------
    ' send en besked til chatten
    ' ----------------------------------------------------
    if mode = "send" then
       
        for x = antal_linier to 2 step -1
            application("chatline_" & x) = application("chatline_" & x-1)
        next
        besked = request("besked")

        ' /logoff - logger en person af chatten
        if besked = "/logoff" then
            for x = antal_linier to 2 step -1
                application("chatline_" & x) = application("chatline_" & x-1)
            next
           
            application("chatline_1") = "<b><font color='#ffff00'>" & session("chatname") & " er logget af kl. " & now & "</b></font>"
            session("chatname") = ""
            %>
            <script language="javascript">
                top.location.href="<% = logoff_url %>";
            </script>           
            <%
            response.end
        else
            application("chatline_1") = "<font color='" & dato_color & "'><b>" & now & "</font> <font color='" & name_color & "'>" & session("chatname") & "</font> : <font color='" & text_color & "'>" & besked & "</b></font>"
            response.redirect "default.asp?mode=chat_frame"
        end if

    end if


    ' ----------------------------------------------------
    ' udskriver alle chat linier på chat vinduet
    ' ----------------------------------------------------
    if mode = "chat_frame" then
        response.write "<html><head><META HTTP-EQUIV='Refresh' CONTENT='10;URL=default.asp?mode=chat_frame'></head>"
        response.write "<body bgcolor='" & page_bgcolor & "' text=black link=black alink=black vlink=black topmargin='10' leftmargin='10'>" & font
        for x = 1 to antal_linier
            response.write application("chatline_" & x) & "<br>"
        next
       
    end if


    ' ----------------------------------------------------
    ' beder om ny brugers navn, eller tager imod chatbesked
    ' ----------------------------------------------------
    if mode = "name_frame" then
        response.write "<html><body>" & font
        if session("chatname") = "" then
            response.write "<form name='getname' action='default.asp'><input type='hidden' name='mode' value='savename'>Indtast dit navn : <input type='text' name='chatname' size='40'>&nbsp;<input type='submit' value='Login'></form>"       
        else
            response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"
            response.write "</form>"
        end if
        response.write "</font></body></html>"
    end if

%>
Avatar billede di8leva Nybegynder
15. november 2002 - 11:17 #1
måske kan du lave ett script i toppen:
<script language="JavaScript">
function clear()
{
  getname.besked.value = "";
}
</script>

og rette:
response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"
            response.write "</form>"

---------------------------->

response.write "<form name='getname' target='chat_frame' action='default.asp' onSubmit="clear();"><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"
            response.write "</form>"
Avatar billede di8leva Nybegynder
15. november 2002 - 11:19 #2
ups, byd "" runt clear(); mod '' annars blir det fejl =)



ett alternativ er att stadvek bruge scriptet (med clear)
men istedet rette:

response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"
            response.write "</form>"

------------------------->

response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send' onClick='clear();'>"
            response.write "</form>"
Avatar billede eagleeye Praktikant
15. november 2002 - 11:21 #3
Prøv at fjerne target fra <form>'en

response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"

sådan her:

response.write "<form name='getname' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='submit' value='Send'>"

Men så er problemet at den loader hele siden igen, eller må det kunne laves med lidt Javascript...:



Hvis du laver denne knap:
<input type='submit' value='Send'>"

Om til:
<input type='button' value='Send' onclick=""sendform()"">"


og laver et javascript  topen af koden.:

<script language="JavaScript">
function sendform() {
  document.getname.submit();
  document.getname.besked = "";
}
</script>
Avatar billede net-base.dk Nybegynder
15. november 2002 - 12:52 #4
Jeg har nu prøvet at sætte det sammen og kan ikke få det til at virker...

Da jeg er ikke lige den bedste til ASP så er der ikke en muglighed for at i kan sætte det sammen og så Sende det ind her?
Avatar billede eagleeye Praktikant
15. november 2002 - 13:55 #5
Prøv med dette men gem lige en kopi af dit scritp, jeg er ikke 100% overbevist om det virker... :)

<%
    ' -----------------------------------------------------------------------
    ' Chat System
    ' Udviklet af : Tony Fonager / Netcoders.dk
    ' Dato : 8-12-1998
    ' Kommentar : Denne sourcekode må bruges frit, men ikke commercielt.
    ' Note : Der er brugt TAB på 4, ved opsætningen af source.
    ' Krav : ASP baseret NT server!
   
    ' Opdateret 28. februar 2000 af Tony Fonager!
   
    ' -----------------------------------------------------------------------

    ' standard indstillinger
    font                = "<font face='arial' size='2'>"
    page_header            = "Netcoders Chat System"
    page_bgcolor        = "#aa8833"
    page_logoncolor        = "#ffaa44"
    dato_color            = "#ffffff"
    name_color            = "#ffff00"
    text_color            = "#ffffff"

    ' cache hele outputtet
    response.buffer = true

    ' logoff URL - der hvor brugeren redirectes hen, ved at indtaste "/logoff"
    logoff_url = "http://netcoders.dk"

    ' antal synlige linier i chat vinduet
    antal_linier = 20

    ' hent dokument mode
    mode = request("mode")

   
    ' ----------------------------------------------------
    ' setup frameset
    ' ----------------------------------------------------
    if mode = "" then
    %>
    <html>
    <head><title><% = page_header %></title></head>
    <frameset rows="*,50">
        <frame src="default.asp?mode=chat_frame" name="chat_frame">
        <frame src="default.asp?mode=name_frame" name="name_frame">
    </frameset>
    </html>   
    <%
    end if


    ' ----------------------------------------------------
    ' gem ny brugers navn
    ' ----------------------------------------------------
    if mode = "savename" then
        session("chatname") = request("chatname")
        for x = antal_linier to 2 step -1
            application("chatline_" & x) = application("chatline_" & x-1)
        next
        application("chatline_1") = "<b><font color='" & page_logoncolor & "'>" & session("chatname") & " er logget på kl. " & now & "</b></font>"
        mode = "name_frame"
    end if


    ' ----------------------------------------------------
    ' send en besked til chatten
    ' ----------------------------------------------------
    if mode = "send" then
       
        for x = antal_linier to 2 step -1
            application("chatline_" & x) = application("chatline_" & x-1)
        next
        besked = request("besked")

        ' /logoff - logger en person af chatten
        if besked = "/logoff" then
            for x = antal_linier to 2 step -1
                application("chatline_" & x) = application("chatline_" & x-1)
            next
           
            application("chatline_1") = "<b><font color='#ffff00'>" & session("chatname") & " er logget af kl. " & now & "</b></font>"
            session("chatname") = ""
            %>
            <script language="javascript">
                top.location.href="<% = logoff_url %>";
            </script>           
            <%
            response.end
        else
            application("chatline_1") = "<font color='" & dato_color & "'><b>" & now & "</font> <font color='" & name_color & "'>" & session("chatname") & "</font> : <font color='" & text_color & "'>" & besked & "</b></font>"
            response.redirect "default.asp?mode=chat_frame"
        end if

    end if


    ' ----------------------------------------------------
    ' udskriver alle chat linier på chat vinduet
    ' ----------------------------------------------------
    if mode = "chat_frame" then
        response.write "<html><head><META HTTP-EQUIV='Refresh' CONTENT='10;URL=default.asp?mode=chat_frame'></head>"
        response.write "<body bgcolor='" & page_bgcolor & "' text=black link=black alink=black vlink=black topmargin='10' leftmargin='10'>" & font
        for x = 1 to antal_linier
            response.write application("chatline_" & x) & "<br>"
        next
       
    end if


    ' ----------------------------------------------------
    ' beder om ny brugers navn, eller tager imod chatbesked
    ' ----------------------------------------------------
    if mode = "name_frame" then
        response.write "<html>"
%>
<head>
<script language="JavaScript">
function sendform() {
  document.getname.submit();
  document.getname.besked = "";
}
</script>
</head>
<%
        response.write  "<body>" & font
        if session("chatname") = "" then
            response.write "<form name='getname' action='default.asp'><input type='hidden' name='mode' value='savename'>Indtast dit navn : <input type='text' name='chatname' size='40'>&nbsp;<input type='submit' value='Login'></form>"       
        else
            response.write "<form name='getname' target='chat_frame' action='default.asp'><input type='hidden' name='mode' value='send'>Besked : <input type='text' name='besked' size='35'>&nbsp;<input type='button' value='Send' onclick=""sendform()"">"
            response.write "</form>"
        end if
        response.write "</font></body></html>"
    end if

%>
Avatar billede net-base.dk Nybegynder
15. november 2002 - 14:54 #6
Den sletter stadig ikke det er man har skrevet... Og så kommer den bare med en fejl i scriptet når man sender en besked...
Avatar billede net-base.dk Nybegynder
15. november 2002 - 14:54 #7
Du kan ikke se fejlen da jeg tæster scriptet på en Fiktiv ASP server jeg har sat på her ¨på arbejdet...
Avatar billede net-base.dk Nybegynder
19. november 2002 - 10:12 #8
Jeg lukker dette Spg. da det ikke har givet nogle Svar der kunne bruges...

Men eller tak til jer der har hjulpet
Avatar billede net-base.dk Nybegynder
19. november 2002 - 10:12 #9
Lukker
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