我在一个页面制作了一个按钮,按钮弹出子窗口,该子窗口的信息是通过SQL select出来的,有大文本字段,想通过点击将大文本的内容回填到父窗口,但当大文本太长时,无法回填,是怎么回事呢?!请高手指点,谢谢!
<SCRIPT language=javascript> function set_returnvalue(v1,v2,v3)
{
window.opener.document.all("input012").value = v1; //字段
window.opener.document.all("input02").value = v2; //字段
window.opener.document.all("input013").value=document.all("msg").innerText=v3; //大文本
window.close();
}</SCRIPT>
<SCRIPT language=javascript> function set_returnvalue(v1,v2,v3)
{
window.opener.document.all("input012").value = v1; //字段
window.opener.document.all("input02").value = v2; //字段
window.opener.document.all("input013").value=document.all("msg").innerText=v3; //大文本
window.close();
}</SCRIPT>
一般会用服务器端程序把大字段写到隐藏的textarea中,客户端用xx.value来引用。
<textarea id="xx" style="display:hidden"><%=rs("xx")%></textarea>set_returnvalue("x", "x", document.getElementById("xx").value);
这样就不需要处理js的转义字符了,否则需要处理\n \"之类的.
<TABLE class=borderstyle border=1 cellSpacing=0 borderColor=#cccccc cellPadding=0 width="100%">
<TBODY>
<TR height=28>
<TD class=add-item align=center><STRONG>序号</STRONG></TD>
<TD class=add-item align=center><STRONG>IP地址</STRONG></TD>
<TD class=add-item align=center><STRONG>事件ID</STRONG></TD>
<TD class=add-item align=center><STRONG>消息内容</STRONG></TD></TR>[#BODY#]
<TR style="CURSOR: hand" onclick='set_returnvalue("{FEventID}","{FIP}","{FMsg}")' height=28>
<TD class=add-data align=center>[#ROWNUM#]</TD>
<TD class=add-data align=center>{FIP}</TD>
<TD class=add-data align=center>{FEventID}</TD>
<TD class=add-data align=center id=msg>{FMsg}</TD></TR>[/#BODY#] </TBODY></TABLE>
<SCRIPT language=javascript> function set_returnvalue(v1,v2,v3)
{
window.opener.document.all("input012").value = v1;
window.opener.document.all("input02").value = v2;
window.opener.document.all("input013").value=document.all("msg").innerHTML = v3;
window.close();
}</SCRIPT>
.....<textarea id="xx" style="display:hidden">{FMsg}</textarea>