lionheart
Goto Top

Felder mit Sonderzeichen verarbeiten

Guten Morgen!

ich besitze ein vorgegebenes HTML Formular, welches ich nicht ändern darf. In diesem Formular sind einige Feldnamen mit Sonderzeichen - z.B. "Größe" - enthalten.

Die Werte aus diesem Formular muss ich nun mit JS weiterverarbeiten. Leider bringt mir JS immer einen Fehler, sobald ein solches Feld (document.forms.Größe) verwendet wird.

Gibt es eine Möglichkeit JS das Arbeiten mit Sonderzeichen beizubringen?

Vielen Dank.

Gruß,
Lionheart

Content-ID: 133419

Url: https://administrator.de/forum/felder-mit-sonderzeichen-verarbeiten-133419.html

Ausgedruckt am: 23.12.2024 um 00:12 Uhr

Lionheart
Lionheart 14.01.2010 um 08:55:00 Uhr
Goto Top
Hier ein kleines Beispiel:

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> </title>
<script type="text/javascript">
function Berechnen () {
var ergebnis = (document.Rechner.Länge.value * document.Rechner.Breite.value);
alert(ergebnis);
}
</script>
</head>

<body>
<h1>Quadratmeter berechnen</h1>
<form name="Rechner" action="" onsubmit="Berechnen()">
<p>L&auml;nge: <input name="Länge" type="text" size="10" value="0"></p>
<p>Breite: <input name="Breite" type="text" size="10" value="0"></p>
<p><input type="submit" value=" Berechnen "></p>
</form>

</body>
</html>
TheDarkLord
TheDarkLord 14.01.2010 um 08:55:16 Uhr
Goto Top
Hallo face-smile

Wenn du UTF-8 (oder war es UTF-16?) benutzt, dann solltest Du bei Java sogar in Methoden- und Attributnamen Umlaute benutzen können.
Aber Java nutzt intern Unicode, es liegt also nicht an JS sondern am "falschen" Quellzeichensatz.

Vielleicht hilft Dir das hier weiter?

Gruß Dark

Nachtrag: Umschreib doch die Umlaute einfach mit ae, oe und ue... wäre doch das einfachste oder nicht?
Lionheart
Lionheart 14.01.2010 um 09:04:13 Uhr
Goto Top
Da die Feldnamen im HTML Formular von einer Anwendung automatisch so exportiert werden, kann ich die Bezeichnung der Felder nicht beeinflussen.
StefanKittel
StefanKittel 14.01.2010 um 09:22:50 Uhr
Goto Top
Hallo,
kannst Du Dir die Felder auflisten lassen. Dann könntest Du den String so weiter verwenden.
Stefan
TheDarkLord
TheDarkLord 14.01.2010 um 09:23:28 Uhr
Goto Top
Ahso, wird automatisch übergeben...
Und was ist, wenn Du den Namen vor der Verwendung im JS mit nem anderen JS umbenennst?

So hier kannst Du einen Wert auslesen, vielleicht kannst Du das irgendwie verwenden bzw umbauen, dass Du die exportierten Feldnamen mit js ausliest, und denen dann einen anderen Namen gibst, welchen du dann in Deinem Berechnungs-JS nutzen kannst:

<code "text=plain">
<html><head>
<script type="text/javascript">

function doIt()
{
var x = document.getElementById("abc").getElementsByTagName("td")[1].innerHTML;
alert(x);
}
</script>
</head>

<body onload="doIt()">
<div id="abc">
<table id="Tabelle_1">
<tr>
<td> </td>
<td> Wert der gelesen werden soll </td>
</tr>
</table>
</div>
</body>
</html>


Nachtrag:
Vielleicht kannst Du auch mit "replace" arbeiten? Ich kenne mich mit JS nicht so gut aus, aber es muss doch bestimmt möglich sein, die übergebenen werte mit Replace von "Länge" nach "Laenge" zu ändern und dann erst mit dem Berechnungs-JS bearbeiten lasssen, oder nicht?

Gruß Dark
Lionheart
Lionheart 14.01.2010 um 09:24:40 Uhr
Goto Top
@StefanKittel
Wie meinst du das?
StefanKittel
StefanKittel 14.01.2010 um 10:03:21 Uhr
Goto Top
Hallo,
ich kenne mich mit JS nicht aus, aber gibt es neben "getElementById" evtl. eine Funktion "getElementList" der eine Liste zurückgibt?
Das Element hat ja einen Namen. Vieleicht sieht der so aus: "Gr%"Ge". Wenn man nun eine Liste mit allen IDs hat, kann man diesen krummen String einfach weiterverwenden.
Stefan