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-Key: 133419

Url: https://administrator.de/contentid/133419

Printed on: April 20, 2024 at 08:04 o'clock

Member: Lionheart
Lionheart Jan 14, 2010 at 07:55:00 (UTC)
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>
Member: TheDarkLord
TheDarkLord Jan 14, 2010 at 07:55:16 (UTC)
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?
Member: Lionheart
Lionheart Jan 14, 2010 at 08:04:13 (UTC)
Goto Top
Da die Feldnamen im HTML Formular von einer Anwendung automatisch so exportiert werden, kann ich die Bezeichnung der Felder nicht beeinflussen.
Member: StefanKittel
StefanKittel Jan 14, 2010 at 08:22:50 (UTC)
Goto Top
Hallo,
kannst Du Dir die Felder auflisten lassen. Dann könntest Du den String so weiter verwenden.
Stefan
Member: TheDarkLord
TheDarkLord Jan 14, 2010 at 08:23:28 (UTC)
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
Member: Lionheart
Lionheart Jan 14, 2010 at 08:24:40 (UTC)
Goto Top
@StefanKittel
Wie meinst du das?
Member: StefanKittel
StefanKittel Jan 14, 2010 at 09:03:21 (UTC)
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