Jag har en sida där jag postar ett formulär med javascript (ajax) och det fungerar bra förutom när man postar något med ÅÄÖ och använder IE. Det blir inte konstiga tecken utan helt enkelt inga tecken alls. Mystiskt.. Har du satt alla encodings rätt? Nja, sidorna som laddas in via ajax är ju bara små korta textsnuttar (typ < form >-koden osv, utan < html > och < body >) så någon kod som anger encoding där finns inte. Testa att sätta en meta-tagg i head :) Som sagt så har parent-sidan allt korrekt med meta-taggar och sidan som inkluderas har inget annat än det faktiska innehållet (dvs < form > osv). Varken < html >, < head >, < body > eller annat som tillhör "grundstrukturen" finns med där. Jag hade också problem med åäö i mitt script.Problem med ÅÄÖ vid formulärpostning med javascript
Jag har testat att ha med escape() men då blir det samma fel även i FF.
Tips?
<code>
function postAjax(url, actform, loadiv) {
document.getElementById(loadiv).style.display = "block";
var http_request = false;
if (window.XMLHttpRequest) {
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// See note below about this line
}
} else if (window.ActiveXObject) {
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Jag ger upp :( Kunde inte skapa en XMLHTTP instans');
return false;
}
var theForm = document.getElementById(actform)
var urldata = "";
for(i=0; i<theForm.elements.length; i++){
urldata += "&" + theForm.elements[i].name + "=";
//urldata += escape(theForm.elements[i].value);
urldata += theForm.elements[i].value;
}
http_request.onreadystatechange = function() { alertContents(http_request, loadiv); };
http_request.open('GET', url + urldata, true);
http_request.send(null);
}
</code>
(Egentligen är det ingen postning eftersom formuläret skickas via GET och querystring, men det var inte så noga)
/ThomasSv: Problem med ÅÄÖ vid formulärpostning med javascript
Sv:Problem med ÅÄÖ vid formulärpostning med javascript
Huvudsidan (dit ajax-innehållet laddas) har självklart allt rätt för UTF-8. Det är aldrig några problem om man postar formulär på vanligt sätt.
/ThomasSv: Problem med ÅÄÖ vid formulärpostning med javascript
Sv:Problem med ÅÄÖ vid formulärpostning med javascript
/ThomasSv: Problem med ÅÄÖ vid formulärpostning med javascript
Jag löste det med att översätta alla åäö till å ä Ö innan jag postade till databasen.