Witam
Ostatnio dość szeroko szukałem skryptu który umożliwił by mi (tak samo jak na tym forum) wstawianie wybranych znaczników w miejsce kursora i pomiędzy zaznaczonym tekstem, poszukiwania się nie powiodły ponieważ albo nie spełniał tych wymogów albo działał tylko pod IE. Dysponuje ktoś może takim skryptem?
P.S: sprawdzałem w kodzie źródłowym strony ale jest tutaj tego za dużo...
[js] wsatawianie znaczników
Re: [js] wsatawianie znaczników
Miałem takie same pytanie, i otrzymałem następującą odpowiedź:
Kod JS
Kod html buttona
Textarea ma atrybut id ="textareaIdValue";
Skryp ten jako tako działa, lecz dodaje tekst nie w miejsce kursora, lecz na końcu wiersza. Są też z nim problemy na fajerofkxie.
Kod JS
Kod: Zaznacz cały
function add(){
var text ="mój tekst";
var ta = document.getElementById("textareaIdValue");
ta.innerHTML = ta.innerHTML + text;
} Kod: Zaznacz cały
<input type="button" onclick="add()" value="dodaj tekst" /> Skryp ten jako tako działa, lecz dodaje tekst nie w miejsce kursora, lecz na końcu wiersza. Są też z nim problemy na fajerofkxie.
Re: [js] wsatawianie znaczników
Szczerze powiedziawszy ten skrypt raczej nikomu się nie przyda...
na innym forum dostałem satysfakcjonującą odpowiedz (podam ją również tutaj by ktoś potrzebujący nie musiał się trudzić)
na innym forum dostałem satysfakcjonującą odpowiedz (podam ją również tutaj by ktoś potrzebujący nie musiał się trudzić)
Kod: Zaznacz cały
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Strona WWW</title>
<script type="text/javascript">
function wstaw(form_texarea, poczatek, koniec)
{
//IE support
if (document.selection)
{
form_texarea.focus();
sel = document.selection.createRange();
sel.text = poczatek+sel.text+koniec;
}
//MOZILLA/NETSCAPE support
else if(form_texarea.selectionStart || form_texarea.selectionStart == 0)
{
var startPos = form_texarea.selectionStart;
var endPos = form_texarea.selectionEnd;
form_texarea.value = form_texarea.value.substring(0, startPos)+ poczatek+form_texarea.value.substring(startPos,endPos)+koniec+form_texarea.value.substring(endPos, form_texarea.value.length);
}
else
{
form_texarea.value += myValue;
}
}
</script>
</head>
<body>
<input type="button" value=":start: :end:" onclick="wstaw(formularz.tekst, ':start:',':end:')" />
<form name="formularz">
<textarea name="tekst" rows="5" cols="80" >tekst tekst tekst tekst jeszcze więcej tekstu</textarea>
</form>
</body>
</html>
