Avatar billede w13 Novice
28. februar 2007 - 12:39 Der er 13 kommentarer og
1 løsning

Problem med nogle tegn i AJAX-løsning

Hej Eksperter.

Jeg har siddet og leget med noget AJAX-kodning og har nu fundet frem til følgende koder:
--------------------------------------
AJAX.HTML:
--------------------------------------
<html>
<head>

<script src="ajax.js" type="text/javascript"></script>
<script language="JavaScript">
    function submitForm()
    {
        var req = createXHR();

        req.onreadystatechange = function()
        {
            document.ajax.dyn.value="Wait server...";
            if(req.readyState == 4)
            {
                if(req.status == 200)
                {
                    document.ajax.dyn.value="Received:" + req.responseText;
                }
            }
        }
        req.open("GET", "1.asp", true);
        req.send(null);
    }
</script>
</head>

<body>

<form name="ajax" method="POST">
<input type="button" value="Submit" onclick="submitForm()">
<input type="text" name="dyn" size="32">
</form>

</body>
</html>
--------------------------------------
AJAX.JS
--------------------------------------
function createXHR()
{
    var req = false;
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
        try {
            req = new XMLHttpRequest();
        }
        catch (err1)
        {
            req = false;
        }
            }
        }
    return req;
}
--------------------------------------
1.ASP
--------------------------------------
<%Response.Write "Halløj" & now()%>
--------------------------------------
Koderne virker til dels, som de skal, men ulempen er, at ØJ i HALLØJ simpelthen ikke kan vises ordentligt som output i textboxen.. I stedet skrives et spørgsmålstegn eller en firkant..

Nogen som kan hjælpe mig med dette?
På forhånd tak!
W13
Avatar billede w13 Novice
28. februar 2007 - 12:48 #1
Det samme gælder i øvrigt bl.a. følgende tegn:
¤ £ § ½ ´ ¨
Avatar billede olebole Juniormester
28. februar 2007 - 15:37 #2
<ole>

Du skal naturligvis bruge en DTD i dit dokument - og evt. sætte tegnsæt med en meta. Dernæst bør du sørge for, din server (og evt. DB) arbejder med samme tegnsæt.

Derudover er dette ikke en valid adresse, hvis du forsøger at sætte en value-property på et HTML-element:
    document.ajax.dyn.value

/mvh
</bole>
Avatar billede w13 Novice
28. februar 2007 - 17:07 #3
Jeg havde oprindeligt følgende DTD og meta-tegnsæt i  mit dokument:
------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" dir="ltr" lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
------------------------------------
Resultatet var dog det samme..

Hvilken adresse er da korrekt?
Avatar billede olebole Juniormester
05. marts 2007 - 13:29 #4
Hvad mener du med 'adresse'?
Avatar billede w13 Novice
05. marts 2007 - 14:12 #5
Du skrev, at det ikke var en valid adresse, når jeg forsøgte at sætte en value-property på et HTML-element..
Avatar billede olebole Juniormester
05. marts 2007 - 14:52 #6
ahaaaa  =)

document.getElementsByName("dyn")[0].setAttribute("value", "Received:" + req.responseText);
Avatar billede w13 Novice
06. marts 2007 - 18:41 #7
Så er det rettet - men har du ingen bud på mit problem med "æ ø å ¤ £ § ½ ´ ¨"? Det må da være muligt at gøre med Ajax..

Jeg bruger nu:
----------------------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" dir="ltr" lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Avatar billede olebole Juniormester
07. marts 2007 - 14:27 #8
Jamen, det er det da sandelig også - men jeg skrev også til dig:
    "Dernæst bør du sørge for, din server (og evt. DB) arbejder med samme tegnsæt."  ;o)
Avatar billede olebole Juniormester
07. marts 2007 - 14:29 #9
PS: PHP's default tegnsæt er 'iso-8859-1' ... jeg ved ikke, hvordan det forholder sig med ASP
Avatar billede w13 Novice
07. marts 2007 - 17:33 #10
Jeg har nu indledt asp-filen med koden:
Session.LCID = 1030

Stadig det samme.. Jeg håber virkelig, der er en løsning.. ellers holder Ajax ikke i Danmark? Eller i udlandet, hvis man skal skrive ¤ £ § ½ ´ ¨".. :S
Avatar billede olebole Juniormester
09. marts 2007 - 13:08 #11
Jeg ved ikke helt, hvad det er, der er så svært at forstå i mine kommentarer. Har du undersøgt, hvilket charset din server og evt. DB anvender?

Der er tusindvis af danske AJAX-løsninger ... det er der intet i vejen for  =)
Avatar billede w13 Novice
10. marts 2007 - 01:09 #12
Ahr, men så kigger jeg lidt mere på det :)
Avatar billede w13 Novice
22. april 2007 - 17:08 #13
Ja, nu er det så løst ved at indsætte Response.Charset = "ISO-8859-1" i toppen af asp-dokumentet! :D
Så hvis du lige opretter et svar, skal du få point! :)
Avatar billede olebole Juniormester
23. april 2007 - 13:33 #14
Fint, at det lykkedes  ;o)
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