![]() |
SELFHTML Forumsarchiv |
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
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]-->
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("ä");
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 "ä" 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
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 "ä" 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 "ä".
»» 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 "&auml;" ersetzen.
Gruß,
Harlequin
--
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
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("ä");
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
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,"ä");
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]-->
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,"ä");
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,"ä");
... wobei das input-Feld "ae" unsichtbar ist!
Hast du da noch einen Tipp für mich ??
Danke schon einmal,
Christoph ;-)
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...
© 1998-2006
Impressum, Software: Classic Forum