使用Javascript在文本区域内写入

时间:2010-12-03 09:01:46

标签: javascript jquery textarea innerhtml

当我点击链接时,我正试图在文本区域写一些东西。

function writeText(txt){
    document.getElementById("writeArea").innerHTML = txt;
}

我想将html标签代替txt作为参数传递给此函数,以便我可以在文本区域内获取图像,链接等。在Javascript中可以吗? || JQuery会好吗? 预感谢。

6 个答案:

答案 0 :(得分:4)

或者如果有jquery标签的原因是:

$('#writeArea').val(txt);

答案 1 :(得分:3)

您应该使用value

document.getElementById("writeArea").value = txt;

答案 2 :(得分:3)

如果要在屏幕上渲染一些图像和锚标记,请不要使用textarea。使用任何其他容器,例如<div><span><p>等。

$("#yourelementid").html(yourtext);

将文本(在您的情况下为HTML)放在id为yourelementid

的元素中

HTML

<p id="para1"></p>

的jQuery

var txt = "<a href='http://www.google.com'>Google</a>";
$("#para1").html(txt);

查看working sample

答案 3 :(得分:2)

如果您只想设置textarea的文本,可以在jQuery中轻松完成:

$("#yourid").val("hello");

看到它正常工作:http://jsfiddle.net/quQqH/

如果您希望在其中包含HTML,那么它需要是一个容器元素(例如div)。

// Html
<div id="yourid"></div>

//JavaScript
$("#yourid").html('<a href="#">My link</a>');

否则,另一个选择是使用富文本编辑器(如Yahoo Editor),以便呈现textarea输入中的HTML - 这将使用户可编辑。这稍微复杂一些,因为您需要包含正确的文件才能使编辑器工作。然后只需执行以下操作:

var myEditor = new YAHOO.widget.SimpleEditor('yourid', {
    height: '200px',
    width: '350px',
    toolbar: 0 // Hides the toolbar
});
myEditor.render();


$("#yourid").val("Click for <a href='http://yahoo.com'>Yahoo</a>");

你可以看到这个有效:http://jsfiddle.net/quQqH/1/。在这种情况下,我通过将工具栏设置为0来删除它,但它可以自定义以显示不同的按钮等。只需删除该行以显示默认工具栏。

答案 4 :(得分:0)

就这样给出

$("#ID").val("<img src='images/logo.png' />");

答案 5 :(得分:0)

如果你想在textarea中写长文本,你可以这样使用:

HTML

<textarea id="theId"></textarea>

的jQuery

var a = 'Test textarea content. <a href="http://google.com">Google</a>" ';

$("#theId").val(a);

<强> JS FIDDLE