下面的功能不起作用...当尝试将“ newTextArea”添加到“ document.postform.nTextArea”时

谁能帮我?

function AddText(text, newTextArea) {

    nTextArea = newTextArea;


    var tarea = document.postform.nTextArea;
    alert(nTextArea);
    if (typeof tarea.selectionStart != 'undefined'){ // if it supports DOM2
        start = tarea.selectionStart;
        end = tarea.selectionEnd;
        tarea.value = tarea.value.substr(0,tarea.selectionStart)
            + text + tarea.value.substr(tarea.selectionEnd);
        tarea.focus();
        tarea.selectionStart = ((start - end) == 0) ? start + text.length : start;
        tarea.selectionEnd = start + text.length;
    } else {
        if (tarea.createTextRange && tarea.caretPos) {
            var caretPos = tarea.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?   text + ' ' : text;
        }
        else {
            tarea.value += text;
        }
        tarea.focus(caretPos);
    }
}

最佳答案

假设newTextArea是textarea元素的名称,则正确的访问方式是使用以下代码:

var tarea = document.postform.elements[newTextArea];
if (typeof tarea.selectionStart != 'undefined'){ // if it supports DOM2
    //...
}

10-08 15:17