Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

SELFHTML Forumsarchiv
indexOf

Informationsseite
  1. Seite (JAVASCRIPT) indexOf von Christoph, 28. 02. 2008, 15:25
    • Seite (JAVASCRIPT) indexOf von Harlequin, 28. 02. 2008, 15:33
      • Seite (JAVASCRIPT) indexOf von Christoph, 28. 02. 2008, 16:02
        • Seite (JAVASCRIPT) indexOf von Harlequin, 28. 02. 2008, 16:17
          • Seite (JAVASCRIPT) indexOf von Christoph, 28. 02. 2008, 16:52
            • Seite (JAVASCRIPT) indexOf von Harlequin, 28. 02. 2008, 18:19
              • Seite (JAVASCRIPT) indexOf von Christoph, 28. 02. 2008, 19:42
                • Seite (JAVASCRIPT) indexOf von Christoph, 28. 02. 2008, 19:46
nach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Christoph, 28. 02. 2008, 15:25

Hallo,

ich machs kurz:

Was ist denn an folgendem Code falsch??

<script type="text/javascript">
function click() {
if (document.getElementById('er').value.indexOf('t') == -1) {
alert('t vorhanden');
}

else {
  var neuertext = document.createTextNode("juhu!");
  document.getElementById("er").replaceChild(neuertext, document.getElementById("er").firstChild);

}
}
</script>
<table><tbody>
<tr><td name="er" id="er">text</td></tr></tbody></table>

<p><a href="javascript:click()">click!</a></p>


Fehler: document.getElementById("er").value has no properties


danke schon einmal,
Christoph

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Harlequin, 28. 02. 2008, 15:33

Yerf!

»» Fehler: document.getElementById("er").value has no properties

Eine <td> hat keinen Value.

Benutz entweder .firstChild.data oder .innerHTML


Gruß,

Harlequin


--
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Christoph, 28. 02. 2008, 16:02

»» Benutz entweder .firstChild.data oder .innerHTML
Ok, danke...
habs jetzt statt ner Tabelle mit einer Textarea gemacht.

Allerdings habe ich jetzt noch ein anderes Problem:
Code:

<script type="text/javascript">
function click() {

if (document.getElementById('htmlcode2').innerHTML.indexOf('ä') != -1) {
var neuertext = document.createTextNode("&auml;");
document.getElementById("htmlcode2").replaceChild(neuertext, document.getElementById("htmlcode2").firstChild);
}

}
</script>
<textarea id="htmlcode2">hgfdsaäasdfgh</textarea>
<p><a href="javascript:click()">click!</a></p>

Wenn ich auf das "click!" klicke, dann sollte nur das "ä" mit "&auml;" ersetzt werden... es wird aber immer der ganze Salat, der in dem Textfeld steht ersetzt!
Was muss ich umprogrammieren, damit der restliche "Salat" stehen bleibt und nur das "ä" ersetzt wird??

danke,
christoph

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Harlequin, 28. 02. 2008, 16:17

Yerf!

»» habs jetzt statt ner Tabelle mit einer Textarea gemacht.

Das ist jetzt irgendwie doppelt gemoppelt... .innerHTML und .childNode wäre auch mit der Tabelle gegangen und die Textarea kennt .value

»» Wenn ich auf das "click!" klicke, dann sollte nur das "ä" mit "&auml;" ersetzt werden... es wird aber immer der ganze Salat, der in dem Textfeld steht ersetzt!

Klar, die ChildNode die ausgetauscht wird enthält den kompletten Text, die neu erzeugte nur das "&auml;".

»» Was muss ich umprogrammieren, damit der restliche "Salat" stehen bleibt und nur das "ä" ersetzt wird??

Ich denke, am besten wendest du replace auf .innerHTML oder .value an.

Wobei mir noch nicht ganz klar ist, was diese Ersetzung bringen soll und warscheinlich (zumindest bei innerHTML) musst du das "ä" durch "&amp;auml;" ersetzen.



Gruß,

Harlequin


--
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Christoph, 28. 02. 2008, 16:52

»» »» Was muss ich umprogrammieren, damit der restliche "Salat" stehen bleibt und nur das "ä" ersetzt wird??
»»
»» Ich denke, am besten wendest du replace auf .innerHTML oder .value an.

Und wie geht das? Habe jetzt ein wenig rumprobiert. Komme aber nicht drauf :(


Code:

<script type="text/javascript">
function click() {

if (document.getElementById('htmlcode2').value.indexOf('ä') != -1) {
var neuertext = document.createTextNode("&auml;");
document.getElementById("htmlcode2").replaceChild(neuertext, document.getElementById("htmlcode2").firstChild);
}
/* [Hier stehen noch weitere Umlaute] */
}
</script>
<textarea id="htmlcode2">hgfdsaäasdfgh</textarea>
<p><a href="javascript:click()">click!</a></p>


Könntest du mir das freundlicherweise umprogrammieren??
Wäre wirklich sehr nett!!

Danke,
Christoph

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Harlequin, 28. 02. 2008, 18:19

Yerf!

»» Und wie geht das? Habe jetzt ein wenig rumprobiert. Komme aber nicht drauf :(

Der Code sieht jetzt aber nicht direkt danach aus...

Ok, ein paar Tips noch:

var box = document.getElementById('htmlcode2'); //damits kürzer wird

Wir wollen den value der Box ändern und der ist ein String, also:

box.value = box.value.replace(/ä/g,"&auml;");

Wegen der "komischen" Schreibweise: siehe http://de.selfhtml.org/javascript/objekte/string.htm#replace und dem Link auf die RegExp


Gruß,

Harlequin


--
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Christoph, 28. 02. 2008, 19:42

Vielen Dank, dass du mir so hilfst!!

»» »» Habe jetzt ein wenig rumprobiert. Komme aber nicht drauf :(
»»
»» Der Code sieht jetzt aber nicht direkt danach aus...
Habe eine Weile rumprobiert und als es dann nicht geklappt hat, habe ich den ursprünglichen Code gepostet.

Danke für den Code... es klappt, aber leider nur lokal, weil wenn ich die Datei hochlade, schaut der Code so aus:
» box.value = box.value.replace(/�/g,"&auml;");
Und somit wird das "ä" natürlich nicht ersetzt :(

Wie muss ich das "ä" denn da schreiben, dass es nicht zum "?" wird?
Hätte es ja schon so ausprobiert, funktioniert aber leider auch nicht:
» box.value = box.value.replace(/document.getElementById('ae').value/g,"&auml;");

... wobei das input-Feld "ae" unsichtbar ist!

Hast du da noch einen Tipp für mich ??

Danke schon einmal,
Christoph ;-)

nach obennach unten

indexOf

Die folgende Nachricht zum Thema stammt von: Christoph, 28. 02. 2008, 19:46

Hey,

sorry für den Post... habs jetzt eh gefunden: http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/utf8.htm

Vorher habe ich irgendwie nicht den richtigen Suchbegriff parat gehabt...

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Februar

© 1998-2006 Seite Impressum, Software: Classic Forum