Jag vill skicka ett "ö" till min aspx sida genom nedan javascript. Testa att göra en URLEncode på key först. Antingen via serverspråket där du kallar på SendQuery, eller genom javascript i funktionen. Alternativt om bokstäverna försvinner efter en URLencode så byt från utf-8 till iso-8859-1 som encoding i web.config web.config låter som en ASP.NET-sida och det var väl inget som sa att han använde det. Men är det lösningen så tycker jag att det är bättre att se till så att sidan blir UTF-8 istället för att ställa om till ISO-8859-1. hur kör man URLEncode via javascript ? Kolla på funktionerna encodeURI och encodeURIComponent samt deras decodeXXX motsvarigheter. http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Functions:encodeURI Exempel Helge.... Lustiga är att min kod utan ändring fungerar med å ä ö i Opera och Mozilla FF men inte i IE Nu funkar å ä ö i IE. Men vill jag ha ett & tecken hur gör man då? Å Ä Ö problem i IE
<code>
function
SendQuery(key)
{
Initialize();
var url="minserver/dict.aspx?k="+key;
if(req!=null)
{
req.onreadystatechange = Process;
req.open("GET", url, true);
req.send(null);
}
}
</code>
men det som kommer fram är bara konstiga tecken (gäller å ä ö )
Vad är det jag missat ?Sv: Å Ä Ö problem
/ThomasSv:Å Ä Ö problem
Från:
<code>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</code>
Till:
<code>
<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" />
</code>Sv: Å Ä Ö problem
/ThomasSv:Å Ä Ö problem
det jag vill göra är att vidarebefodra tecken från en textbox genom en querystring mha javascript till en apsx sida som skall returnera ett svar.
så det jag måste åstakomma är en URLEncode på de tecken jag skickar iväg ?
för det jag får i retur funkar å ä ö Sv: Å Ä Ö problem
Sv:Å Ä Ö problem
Denna funktion som hittas där är den inbyggd i webläsaren .... hänger inte med.Sv: Å Ä Ö problem
Så här ser min kod ut (default.aspx)
<code>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Language" content="sv" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script>
var req;
function Initialize()
{
try
{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
req=null;
}
}
if(!req&&typeof XMLHttpRequest!="undefined")
{
req= new
XMLHttpRequest();
}
} function
SendQuery(key)
{
Initialize();
var url="***server***/ajax.aspx?k="+key;
if(req!=null)
{
req.onreadystatechange = Process;
req.open("GET", url, true);
req.send(null);
}
}
function Process()
{
if (req.readyState == 4)
{
// only if "OK"
if (req.status == 200)
{
if(req.responseText=="")
HideDiv("autocomplete");
else
{
ShowDiv("autocomplete");
document.getElementById("autocomplete").innerHTML =req.responseText;
}
}
else
{
document.getElementById("autocomplete").innerHTML=
"There was a problem retrieving data:<br>"+req.statusText;
}
}
}
function ShowDiv(divid)
{
if (document.layers) document.layers[divid].visibility="show";
else document.getElementById(divid).style.visibility="visible";
}
function HideDiv(divid)
{
if (document.layers) document.layers[divid].visibility="hide";
else document.getElementById(divid).style.visibility="hidden";
}
function BodyLoad()
{
HideDiv("autocomplete");
document.form1.keyword.focus();
}
</script>
</head>
<body onload="BodyLoad();">
<form id="form1" runat="server">
This is AJAX!
<br />
<br />
Logg in!
<asp:Button id="Button1" OnClick="Button1_Click" runat="server" Text="Logga in"></asp:Button>
<br />
<br />
Print our name!
<br />
<input onkeyup="SendQuery(this.value)" style="WIDTH: 500px" name="keyword" autocomplete="off" />
<div class="box" id="autocomplete" style="WIDTH: 500px; BACKGROUND-COLOR: #ccccff; text-align:left;" >
</div>
</form>
</body>
</html>
</code>Sv:Å Ä Ö problem
<code>
SendQuery(key)
{
Initialize();
var url="*****/ajax.aspx?k="+encodeURI(key);
if(req!=null)
{
req.onreadystatechange = Process;
req.open("GET", url, true);
req.send(null);
}
</code>