我遇到了问题,过了一段时间后我就不知道如何修复它,我真的需要帮助
所以我有asp:GridView
,在我的数据库中我保存带有HTML标签的文字(英文专栏),在DataBound
事件我正在使用Context.Server.HtmlDecode(encoded);
,因此它显示得很完美
但问题是,那也是在那个事件上,我正在为那个单元格创建OnClick
事件...调用javascript函数,并向它发送参数,它看起来像这样
ChangeTranslationText('English',
'<div style="text-align: center;"><span style="font-style:italic;">Stavi dole
</span><span style="font-weight: bold;">neki text<br><br><br>Hvala na paznji!
<br><br>Mozes Z da stavis<br><br>Ali Z<br><br>Hvala<br></span></div> '
,'56');return false;
现在我正在尝试我的javascript读取HTML并格式化我的文本,就像在GridView中看起来一样......
function ChangeTranslationText(Language, Text, Control) {
document.getElementById("MainContent_txtChangeLanguage").value = Language;
var el = $('<div></div>');
el.html(Text);
document.getElementById("MainContent_txtTranslationText").innerHTML = el.text();
document.getElementById("MainContent_hfControl").value = Control;
$('#ModalChangeTranslate_Fade').modal('show');
}
我无法对其进行格式化,因为我不知道如何...这是我迄今为止最好的
你能帮助我并告诉我Javascript如何读取HTML并保持格式在GridView单元中?
答案 0 :(得分:0)
我在这里做了一个测试,看到了两件事:
var el = $('<div></div>');
正在投掷$ is not defined
。您的项目中可能有jquery库,但实际上您不需要声明此el
变量。您可以像以前一样使用它:
document.getElementById("MainContent_txtTranslationText").innerHTML = Text;
另一件事是您的Text
参数。不确定换行符是否仅在问题中,但是,当我们在javascript中有string
时,它必须在同一行。你不能用“输入”来打破行。您将需要连接strings
来执行此操作,如下所示:
var html = '<div style="text-align: center;"><span style="font-style:italic;">Stavi dole' +
'</span><span style="font-weight: bold;">neki text<br><br><br>Hvala na paznji!' +
'<br><br>Mozes Z da stavis<br><br>Ali Z<br><br>Hvala<br></span></div>';