Avatar billede oleko Nybegynder
28. marts 2001 - 11:14 Der er 13 kommentarer

æøå i form som dannes dynamisk

Jeg ønsker at danne og submitte en form hvor antal felter og tilhørende indhold varierer fra gang til gang. Når formen genereres med javascript i IE kommer æ ø og å fint med, men når den submittes til en asp side er de blevet forvandlet til nogle mærkelige tegn (minder om stort svensk Æ). Det virker i Netscape. Princip er sådan, prøv evt. selv:
<HTML><HEAD><TITLE>Form til test af æøå</TITLE></HEAD>
<BODY>
<SCRIPT>
function submit_table() {
var tekst = \"<HTML><HEAD><TITLE>Test æøå</TITLE></HEAD><BODY>\"
tekst = tekst + \"<FORM name=testform action=testregistrering_submit.asp method=post>\"
tekst = tekst + \"<INPUT name=feltnavn VALUE=\'\" + document.testform.felt.value + \"\'><BR>\"
tekst = tekst + \"<INPUT type=submit></FORM></BODY></HTML>\"
var newwin = window.open()
newwin.document.write(tekst)
newwin.document.close()
return false
}
</SCRIPT>
<FORM name=testform onsubmit=\'return submit_table()\' method=post>
Indtast:<INPUT name=felt><BR>
<INPUT type=submit>
</FORM></BODY></HTML>
   
Avatar billede hoejrup Nybegynder
28. marts 2001 - 11:17 #1
Har du prøvet med special karakterer?

æ = &aelig;
ø = &oslash;
å = &aring;
Æ = &AElig;
Ø = &Oslash;
Å = &Aring;

/per
Avatar billede hoejrup Nybegynder
28. marts 2001 - 11:18 #2
Har du prøvet at erstatte æ med &aelig;?

/per
Avatar billede jakoba Nybegynder
28. marts 2001 - 11:24 #3
Dit spørgsmål drejer sikke ikke så meget om javascript og forms som om hvilket alfabet de forskellige programmer benytter.

Så sørg først og fremmest for at specificere hvilket alfabet siden skal bruge. fx:
ISO-latin
og så sørge for at serveren bruger det samme alfabet. Det vil ihvertfald begrænse antallet af problemer du har.
Avatar billede oleko Nybegynder
28. marts 2001 - 11:30 #4
Ja (hvis jeg forstår dig ret), prøv evt. selv. 
Avatar billede oleko Nybegynder
28. marts 2001 - 11:33 #5
Jamen forms med æøå dannet på sædvanlig vis virker fint.
Avatar billede olebole Juniormester
28. marts 2001 - 11:33 #6
<ole>
Du skal bruge den escapede oktal-tal værdi af tegnets ASCII-kode...!!! Ta\' DEN! *LoooL*
\\346 for æ
\\370 for ø
\\345 for å
/mvh
</bole>
Avatar billede oleko Nybegynder
28. marts 2001 - 11:40 #7
I registrerings formularen og/eller i den genererede formular. Kan du give eksempel?
Avatar billede olebole Juniormester
28. marts 2001 - 11:57 #8
I det hele taget må det vel være et \'must\' at kommentere afvisninger af korrekte besvarelser! Hvorfor afviser du?
Avatar billede oleko Nybegynder
28. marts 2001 - 12:19 #9
Dit svar er muligvis korrekt, men jvf. min kommentar er jeg bare ikke sikker på hvad du mener.
Avatar billede olebole Juniormester
29. marts 2001 - 11:10 #10
Her kan du se, hvordan du kan udskifte ikke-standard tegn med erstatninger:

<html>
<head>
<script language=\"JavaScript\">
var myChars = new Array(
\"æ\",\"\\346\",
\"ø\",\"\\370\",
\"å\",\"\\345\"
);
function myChange() {
    str = document.f.t.value;
    for (j=0; j<myChars.length; j+=2) {
    nstr = str.split(myChars[i]);
    str = \"\";
        for (i=0; i<nstr.length; i++) {
            str += nstr[i];
            str += (i<nstr.length-1)? myChars[i+1] : \"\";
        }
    }
    alert(str);
}
</script>
</head>
<body>

<form name=\"f\">
    <input type=\"text\" name=\"t\">
    <input type=\"button\" onclick=\"myChange();\" value=\"TEST\">
</form>

</body>
</html>

Så skulle du nok kunne få det sat ind i dit eget script. Du kan bare smide flere tegn i array\'et, men HUSK: IKKE komma efter sidste element i arrayet ;)
/mvh
Avatar billede olebole Juniormester
29. marts 2001 - 11:11 #11
PS: Det kan gøres endnu mere elegant med Reg.Expressions, men det her er nok lettere at overskue :)
Avatar billede oleko Nybegynder
05. april 2001 - 13:39 #12
Kan ikke få det til at virke.
Jeg har i stedet løst problemet på server siden med en funktion, som konverterer de mystiske tegn til æøå og ÆØÅ:
Function Konv(felt)
checkae = ChrB(195) & ChrB(0) & ChrB(166) & ChrB(0)
checkoe = ChrB(195) & ChrB(0) & ChrB(184) & ChrB(0)
checkaa = ChrB(195) & ChrB(0) & ChrB(165) & ChrB(0)
checkstorae = ChrB(195) & ChrB(0) & ChrB(32) & ChrB(32)
checkstoroe = ChrB(195) & ChrB(0) & ChrB(220) & ChrB(2)
checkstoraa = ChrB(195) & ChrB(0) & ChrB(38) & ChrB(32)
felt = replace (felt,checkae,\"æ\")
felt = replace (felt,checkoe,\"ø\")
felt = replace (felt,checkaa,\"å\")
felt = replace (felt,checkstorae,\"Æ\")
felt = replace (felt,checkstoroe,\"Ø\")
felt = replace (felt,checkstoraa,\"Å\")
Konv = felt
End function 
Avatar billede olebole Juniormester
06. april 2001 - 00:45 #13
Så har du lavet en anden fejl....du kan da bare kopiere koden ovenfor. Den fugerer upåklageligt :)
/mvh
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