[js] speciale karakters in dynamisch form

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Ik heb een dynamisch form waarin een select wordt gevuld vanuit een array.
Nu kan het zijn dat er entries tussen staan met speciale karakters (trema's umlauts etc.), die ik dus netjes als
code:
1
ë ü

definieer.
Echter als ik dan in mijn selectboxje kijk, dan worden ze niet netjes omgezet.
Zijn er in dit geval bezwaren om deze speciale tekens ook al als zodanig op te nemen in de source (dus afstappen van de HTML-notatie)? Zo nee, wat is dan eigenlijk het nut van de HTML-notatie? Zo ja, hoe zou ik het dan anders op moeten lossen?

Intentionally left blank


  • Bas_f
  • Registratie: Januari 2001
  • Laatst online: 02-02 12:03
Zover ik weet moeten die ë dingen gewoon werken, ook in een SELECT box.. Als dat niet zo is, dan zet je gewoon die originele letter neer, maakt volgens mij niet zo gek veel uit..

Ik ben ff een test aan 't maken om 't verschil te zien..

Ik heb dit gemaakt, en ziet er normaal uit, in beide situaties.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<FORM ACTION="echosel.php" METHOD=POST>
<SELECT NAME="test">
<OPTION VALUE="1">T&euml;st &euro;</OPTION>
<OPTION VALUE="1">Tëst </OPTION>
</SELECT>
<BR>
<BR>

<SELECT NAME="test2">
<OPTION VALUE="1">T&euml;st &euro;</OPTION>
<OPTION VALUE="1">Tëst </OPTION>
</SELECT>

</FORM>

[edit]
Ik zie alleen dat 't euro tegen is weggevallen bij de 2e OPTION.. Bugje in IE??

...


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
Het probleem treed dus op als ik dynamisch opties toe wil voegen.

Bijvoorbeeld:
code:
1
  document.forms['mailform'].subject.options[1] = new Option('&eacute;&eacute;n', '1', false, false);

Intentionally left blank


Verwijderd

crisp schreef op maandag 26 november 2001 @ 14:49:
Het probleem treed dus op als ik dynamisch opties toe wil voegen.

Bijvoorbeeld:
code:
1
  document.forms['mailform'].subject.options[1] = new Option('&eacute;&eacute;n', '1', false, false);
He crisp, heb je dit probleem nog kunnen oplossen? Ik zit met hetzelfde dilemma!

Verwijderd

zet ze gewoon in je source, let wel op je character encoding. UTF-8 is tegenwoordig geen probleem meer

moest even drie keer kijken, kwam erachter dat toch echt crisp de ts was, en zag toen pas de datum :P

[ Voor 36% gewijzigd door Verwijderd op 29-09-2005 11:31 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
:P

maar inderdaad: zolang de karakters maar geldig zijn binnen de gestelde character encoding hoef je geen entities te gebruiken :)

Intentionally left blank


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 13-02 11:29

alienfruit

the alien you never expected

Ja, maar als ik een euro-tekenen gebruik in een XHTML document met de karakterset op UTF-8. Krijg ik nog steeds gekke tekens, terwijl ik de content-type ;charset=UTF-8 heeft.

  • disjfa
  • Registratie: April 2001
  • Laatst online: 08-01 11:17

disjfa

be

alienfruit schreef op donderdag 29 september 2005 @ 14:58:
Ja, maar als ik een euro-tekenen gebruik in een XHTML document met de karakterset op UTF-8. Krijg ik nog steeds gekke tekens, terwijl ik de content-type ;charset=UTF-8 heeft.
Sinds wanneer bestaat het euro teken in utf-8 dan :?

disjfa - disj·fa (meneer)
disjfa.nl


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 13-02 11:29

alienfruit

the alien you never expected

Uuh, UTF-8 gewoon een euro tekenen hoor: €. Werkt ook prima in de tekst bij text/html; charset=UTF-8 in zowel IE6 als in Firefox. Alleen dezelfde code in een SELECT werkt niet. dan krijg je: â&#130;¬

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
alienfruit schreef op donderdag 29 september 2005 @ 15:32:
Uuh, UTF-8 gewoon een euro tekenen hoor: €. Werkt ook prima in de tekst bij text/html; charset=UTF-8 in zowel IE6 als in Firefox. Alleen dezelfde code in een SELECT werkt niet. dan krijg je: â&#130;¬
Is dat een extern JS-bestand? En zo ja, wordt die ook wel als UTF-8 geserveerd?
Ook als UTF-8 opgeslagen?

Ik heb het namelijk eens getest en hier werkt het prima :)

[ Voor 11% gewijzigd door crisp op 29-09-2005 15:58 ]

Intentionally left blank


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 13-02 11:29

alienfruit

the alien you never expected

Nou het is gewoon in html bestand. Nog niks met JavaScript te doen, nieuwe topic openen anders?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Topicstarter
alienfruit schreef op donderdag 29 september 2005 @ 16:08:
Nou het is gewoon in html bestand. Nog niks met JavaScript te doen, nieuwe topic openen anders?
Dit werkt ook prima bij mij:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<head>
<title>foo</title>
</head>
<body>
<select id="foo"></select>
<script type="text/javascript">

var sel = document.getElementById('foo');
foo.options[0] = new Option('€ 100', 100);

</script>
</body>
</html>

Opgeslagen als UTF-8 en (natuurlijk) ook geserveerd als UTF-8 (bedenk daarbij dat een eventuele charset in de HTTP header leading is; met een META-tag alleen kom je er niet).

Intentionally left blank


  • JaFFoG
  • Registratie: Januari 2003
  • Laatst online: 21-10-2025
Hier een soortgelijk probleem:

Ik heb een javascript bestand met een array, bijvoorbeeld "array.js".
Enkele elementen binnen deze array bevatten letters met bijvoorbeeld een trema (ë, ï, etc).

Dit bestand wordt door een formulier aangeroepen en van deze array wordt een select-lijst gemaakt. Die "speciale" karakters worden niet goed weergegeven. Ook de HTML-variant biedt geen oplossing: die wordt niet geparsed. Als ik de kararkters in de javascript code zet in het formulier zelf dan is het geen probleem, het wordt dus puur veroorzaakt door het feit dat ze uit een extern bestand komen. :/

Zelf denk ik dat het op te lossen is door het javascript bestand een encoding mee te geven, maar hoe? Ik heb al gegoogled en hier rondgesnuffeld, maar het mocht helaas niet baten.

De encoding van de pagina waarop het formulier staat is UTF-8.

Zwerft er iemand hier rond die mij een antwoord kan geven/kan helpen bij het vinden van de oplossing?
Bij voorbaat dank! :)

Bla


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

Hoe serveert je server de js pagina? Toch wel met utf-8 in de headers?

  • JaFFoG
  • Registratie: Januari 2003
  • Laatst online: 21-10-2025
André schreef op donderdag 17 augustus 2006 @ 12:16:
Hoe serveert je server de js pagina? Toch wel met utf-8 in de headers?
Nee als ISO-8859-1... Maar maken die twee zo'n ruzie dan? 8)7

Bla


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

Je gaat op dat moment een ISO js bestand openenen in een UTF html bestand en daar gaat het fout. Gewoon alles op UTF-8 houden dus :)

  • JaFFoG
  • Registratie: Januari 2003
  • Laatst online: 21-10-2025
André schreef op donderdag 17 augustus 2006 @ 13:06:
Je gaat op dat moment een ISO js bestand openenen in een UTF html bestand en daar gaat het fout. Gewoon alles op UTF-8 houden dus :)
Oke, thnx! _/-\o_

Dat is zeker een serverinstelling? Of kan ik dat ook via een "regeltje" in mijn js- of html-bestand instellen?

* JaFFoG hoopt op het laatste...

Bla


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

In HTML kun je het vaak wel met een meta oplossen maar in de js niet, alleen is dat altijd achteraf omdat je eigenlijk vanuit de server al de juiste headers mee moet geven.

  • JaFFoG
  • Registratie: Januari 2003
  • Laatst online: 21-10-2025
Dat snap ik, maar op de één of andere manier gooit hij mijn pagina's standaard op UTF-8 maar mijn js-bestanden standaard op ISO-8859-1... :?

Bla

Pagina: 1