kann mir wer erklären, warum das bei mir nicht funktioniert? es wird immer die else schleife ausgeführt
ausgabe für document.forms['formular'].news.createTextRange;
function createTextRange() {
[native code]
}
ausgabe für document.forms['formular'].news.caretPos;
undefined
bitte um hilfe!
ps: mein formular:
PHP-Code:
<form action="?page=submit_news.php" method="POST" name="formular">
<table align="center" cellpadding="5">
<tr>
<td colspan="2" align="right">
<input type="button" value="fett" onclick="fett(0)">
<input type="button" value="kursiv" onclick="kursiv(0)">
</td>
</tr>
<tr>
<td valign="top">News:</td>
<td><textarea name="news" id="0" style="width: 500px; height: 250px; border: 1px solid #AAA;"></textarea></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="speichern"></td>
</tr>
</table>
</form>
und noch mein javascript
:
PHP-Code:
<script language="javascript">
function fett(id) {
string = prompt('Geben Sie den Text ein, der fett sein soll!','');
if(string) {
string = "[b]" + string + "[/b]";
emoticon(string);
}
document.getElementById(id).focus();
}
function kursiv(id) {
string = prompt('Geben Sie den Text ein, der kursiv sein soll!','');
if(string) {
string = "[i]" + string + "[/i]";
emoticon(string);
}
document.getElementById(id).focus();
}
function emoticon(text) {
text = ' ' + text + ' ';
document.forms['formular'].news.value += document.forms['formular'].news.createTextRange;
document.forms['formular'].news.value += document.forms['formular'].news.caretPos;
if(document.forms['formular'].news.createTextRange && document.forms['formular'].news.caretPos) {
var caretPos = document.forms['formular'].news.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
document.forms['formular'].news.focus();
}
else {
document.forms['formular'].news.value += text;
document.forms['formular'].news.focus();
}
}
</script>