Leerzeichen per JS abfragen
juppinger
- javascript
Hallo zusammen,
ich habe eine Frage zum Leerzeichen ( ).
Ich habe ein Array, welches befüllt wird durch eine User-Aktion im Browser:
z.B.:
Aktion:
<select name="aktion" id="aktion">
<option value=" " selected>- Feldinhalt leeren -</option>
<option value="d">Defekt</option>
<option value="i">Instant</option>
</select>
Also.. zuerst wählt ein User das select-Feld aus (Beispiel: "-Feldinhalt leeren-"). Somit wird der 'Value' des Feldes auf " " gesetzt.
Jetzt klickt er auf bestimmte Elemente im Browser.
Bei jedem Klick wird ein entsprechendes Array aktualisiert mit dem im Select-Feld vorher ausgewählten Value (Value= " ")...:
a = document.getElementById('aktion').value;
// Array aktualisieren
arrKontoFelder[0][tag] = a;
Hier würde jetzt bei ausgewählter Select-Box ("- Feldinhalt leeren -") in den Array eben das zugehörige Value geschrieben werden (" " bzw. <Leerzeichen>).
Wenn ich in einer anderen JS-Funktion den Wert abfragen will, komme ich nicht richtig an den Wert ran...
1.) KLAPPT NICHT:
if(arrKontoFelder[0][tag] == ' ') temp = temp + ';'; else temp = temp + arrKontoFelder[0][tag] + ';'
2.) KLAPPT AUCH NICHT:
if(arrKontoFelder[0][tag] == ' ') temp = temp + ';'; else temp = temp + arrKontoFelder[0][tag] + ';'
Wie wird denn der Value " " im Array gespeichert (als welches "(Sonder-)Zeichen" und wie kann ich das dann abfragen?
Danke für jeden Tipp.
Gruß,
juppinger
Hallo,
ich habe eine Frage zum Leerzeichen ( ).
das ist kein gewöhnliches Leerzeichen (0x20), sondern ein geschütztes Leerzeichen (0xA0).
Ich habe ein Array, welches befüllt wird durch eine User-Aktion im Browser:
[...]
Hier würde jetzt bei ausgewählter Select-Box ("- Feldinhalt leeren -") in den Array eben das zugehörige Value geschrieben werden (" " bzw. <Leerzeichen>).
if(arrKontoFelder[0][tag] == ' ')
Hier vergleichst du den Feldinhalt mit dem aus 6 Zeichen bestehenden String " ", der aber mit einem Leerzeichen nicht das Geringste zu tun hat. Mit der HTML-codierten Entity-Referenzen hat Javascript nichts am Hut.
if(arrKontoFelder[0][tag] == ' ')
Schon richtiger, aber du hast ja keine normalen, sondern geschützte Leerzeichen verwendet. Also frage auch auf dieses Zeichen ("\xA0") ab.
So long,
Martin
Hello out there!
Wie wird denn der Value " " im Array gespeichert (als welches "(Sonder-)Zeichen" und wie kann ich das dann abfragen?
Als geschütztes Leerzeichen ' ' U+00A0 – optisch nicht vom Leerzeichen ' ' U+0020 zu unterscheiden, aber es ist ein anderes Zeichen, deshalb:
2.) KLAPPT AUCH NICHT:
if(arrKontoFelder[0][tag] == ' ') temp = temp + ';'; else temp = temp + arrKontoFelder[0][tag] + ';'
Variante 1:
1.) KLAPPT NICHT:
if(arrKontoFelder[0][tag] == ' ') temp = temp + ';'; else temp = temp + arrKontoFelder[0][tag] + ';'
Kann nicht klappen, denn in JavaScript ist ' ' die Folge der Zeichen '&', 'n', 'b', 's', 'p', ';'. [</archiv/2007/6/t154640/#m1006610>]
Du musst das geschützte Leerzeichen dem Kontext entsprechend angeben; der Kontext ist JavaScript. [</archiv/2007/4/t150931/#m981321>]
See ya up the road,
Gunnar
Hallo,
ich habe eine Frage zum Leerzeichen ( ).
Das ist kein normales Leerzeichen. HTML behandelt es als die Entität eines geschützten Leerzeichens. (Dazu gibt es ja schon Antworten)
[...]
Also.. zuerst wählt ein User das select-Feld aus (Beispiel: "-Feldinhalt leeren-"). Somit wird der 'Value' des Feldes auf " " gesetzt.
Da stellt sich für mich zumindest die Frage, warum du bei der ersten <option> das Value-Attribut nicht leer lässt (<option value=""
>). Dann hättest du das ganze Problem gar nicht...
Grüße,
Willi