Autor Zpráva
soucekgns
Profil
Mám tento kód, ale při vložení "<strong>" do textarey mezi text se kurzor zobrazí před tímto tagem... jak to upravit aby se kurzor zobrazil přesně za tagem?
Díky za rady
...onclick="insertAtCursor(txtAr,'<strong>');"

function insertAtCursor(myField, myValue) {
  if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }
  else if (myField.selectionStart || myField.selectionStart == '0') {
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    myField.value = myField.value.substring(0, startPos)
    + myValue
    + myField.value.substring(endPos, myField.value.length);     
  }
  else {
    myField.value += myValue;
  }
}
soucekgns
Profil
Již vyřešeno...
function insertTag(id,myValue) {
  var id = document.getElementById(id);
  if(id.className=='button active') {
    myValue = '</'+myValue+'>';      
    id.className='button';
  }
  else {
    if (myValue=='a') {
      myValue = '<'+myValue+' href="http://adresa.cz" target="_blank">'; 
      var ifIs = 1;  
    }
    else if (myValue=='span') {
      myValue = '<'+myValue+' style="color: #000000;">'; 
      var ifIs = 2;  
    }
    else {
      myValue = '<'+myValue+'>';
    }
    id.className='button active';
  }
  var myField = document.getElementById("content");
  if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }
  else if (myField.selectionStart || myField.selectionStart == '0') {        
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;   
    myField.value = myField.value.substring(0, startPos)
    + myValue
    + myField.value.substring(endPos, myField.value.length);    
    if (ifIs==1) {
      myField.selectionStart = startPos + 9;
      myField.selectionEnd = startPos + 25; 
    }
    else if (ifIs==2) {
      myField.selectionStart = startPos + 21;
      myField.selectionEnd = startPos + 27; 
    }
    else {
      myField.selectionStart = startPos + myValue.length;
      myField.selectionEnd = startPos + myValue.length;   
    }  
  }
  else {
    myField.value += myValue;
  }
}

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0