2016-02-18 3 views
1

у меня есть проблема, и я не знаю, как исправить это после того, как когда-то теперь, мне очень нужна помощьJavascript чтения HTML-теги

Так что я asp:GridView, в моей БД я коплю текст (В английском колонке) с HTML-тегами, на DataBound случае я использую Context.Server.HtmlDecode(encoded); так отображается совершенно

This is Grid View

Но проблема в том, что и на этом мероприятии, я создаю 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'); 
    } 

И я не могу отформатировать его, как я не» знаю, как ... это лучшее, что я получил до сих пор

enter image description here

можете ли вы мне помочь и посоветовать мне, как Javascript прочитал, что HTML и сохранить формат, как он находится в GridView камере?

ответ

0

Я сделал тест здесь и увидел две вещи:

var el = $('<div></div>'); был метательные $ is not defined. Вероятно, в вашем проекте есть библиотека jquery, но вам не нужно объявлять эту переменную el. Вы можете использовать его, как вы делали раньше:

document.getElementById("MainContent_txtTranslationText").innerHTML = Text; 

Другое дело, был ваш параметр Text. Не уверен, что разрыв строки только в вопросе, но, когда у меня есть string в javascript, он должен быть в одной строке. Вы не можете сломать строки с помощью «enter». Вам нужно будет сростить 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>'; 
+0

Извините за линию порывает с «войти», я просто сделал это на вопрос, просто для лучшей видимости. Если я иду document.getElementById ("MainContent_txtTranslationText"). InnerHTML = текст; , my textarea будет просто писать строку с HTML-разметками, она не будет форматировать текст так, как в GridView – Veljko89