Inserire un testo nella posizione del cursore in un campo textfield

function insertAtCursor(campo, stringa) {
  if (document.selection) {
    campo.focus();
    sel = document.selection.createRange();
    sel.text = stringa;
  }
  else if (campo.selectionStart || campo.selectionStart == '0') {
    var startPos = campo.selectionStart;
    var endPos = campo.selectionEnd;
    campo.value = campo.value.substring(0, startPos)
                  + stringa
                  + campo.value.substring(endPos, campo.value.length);
  } else {
    campo.value += stringa;
  }
}

che possiamo richiamare tramite:

insertAtCursor(document.formName.fieldName, 'this value');