将HTML字符串传递给JavaScript函数

时间:2013-08-29 15:34:43

标签: javascript html

我有一个我正在访问的值,并通过onclick传递给JavaScript函数。

<a href="#" onclick="openTextWindow('<%=myVar.varDefinition.getText()%>');">Text</a>

我从getText方法收到的示例值如下所示。

<h1>My Header</h1><br />My text

然后将此值传递给我的openTextWindow方法。

function openTextWindow(inText) {
    myWindow = window.open('','','width=500, height=300');
    myWindow.document.write(inText);
    myWindow.focus();
}

由于某种原因,inText中存储的值与我在上面显示的HTML标记的字符串不匹配。它最终看起来像这样。

"<lt/>h1<gt/>My Header<lt/>/h1<gt/><lt/>br /<gt/>My text

inText写入myWindow时,我希望新的窗口在样式标题中使用文字My Header进行呈现,并在下面的一行上使用My text进行呈现。我试过没有运气来替换和逃避角色。关于如何解决这个问题的想法或更好的方法来完成我想要做的事情?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以将HTML存储在隐藏的DIV或textarea中,然后从您的函数中获取它,而不是尝试将其传递给内联。

<a href="#" onclick="openTextWindow('DIV1');">Text</a>
<div id="DIV1" style="display:none"><%=myVar.varDefinition.getText()%></div>

JS:

function openTextWindow(divName) {
    var inText = document.getElemenyById(divName).innerHTML;
    myWindow = window.open('','','width=500, height=300');
    myWindow.document.write(inText);
    myWindow.focus();
}