2013-08-29 43 views
1

我有一个值,当前正在通过onclick访问并传递给JavaScript函数。将HTML字符串传递给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 text内的文本My Header渲染。我尝试过更换和逃避角色,但没有运气。任何想法如何解决这个问题或更好的方式来完成我想要做的事情?谢谢!

+0

<%= myVar.varDefinition.getText()%>这既不JS也不HTML。 – Virus721

+0

对不起,我想这是一个需要在JS中解决的问题,所以我没有在我的标签中包含JSP。 –

+0

你的jsp显然是问题的根源。 – Virus721

回答

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(); 
} 
+0

我开始添加一些这但我必须跑到午餐。我会让你知道它是如何运作的!谢谢。 –

+0

真是太棒了!你救了我的一天:〜) – RRTW

相关问题