javascript: замена переносов строки на <br />. не выходит........

sni

Новичок
sni, если патерн /\r\n/g не работает, то это говорит только о том, что там виндовых переводов нету. а что говорит alert (s) ?
alert показывает без изменений.

переносы всё равно где-от есть. по крайней мере при в вызываемом c# файле они есть (через Си-шный replace все отлично меняется).
может они теряются при подгрузке файла си-шного через frame.contentWindow.location.href = .... ?

мдя....понедельник день тяжелый, ребяты............
 

dimagolov

Новичок
sni что без изменений? если переносы изначально были, то в окошке бы вывелось в несколько строк. так они были или их не было?

п.с. а никаким дебаггером для JavaScript пользоваться не пробывали?

-~{}~ 06.08.07 11:19:

RoLex, 2 раза сработает потому, что патерн [\r\n]|[\n] соответствует одному и только одному символу, который может быть или \r или \n. Это ничем не отличается от патерна [\r\n]. Почитай, что такое [] в регулярках
 

sni

Новичок
dimagolov не было переносов.
но в алерт разве выводятся виндовые переносы ?
я думал <br> только

-~{}~ 06.08.07 18:22:

блин. а где-нибудь можно хоть посмотреть что там в html коде странички, в которой все через js грузится? а то как вслепую работаешь.......


JavaScript дебаггером ? не знаю где его взять ... какой посоветуете?
 

RoLex

Новичок
Автор оригинала: sni
вообще, вся цепочка педедачи строки такая : данные берутся из базы данных, через страницу на C#. ее мы вызываем и импортируем через js (frame.contentWindow.location.href = url;) , все это дело выводится на экран и при нажатии мышью текст должен копироваться в другую форму, с заменой переносов строки на <br> ..... может тут переносы как то по другому хранятся...
зх
сдается мне что Дима правильно стал рассуждать, что раз нет замент, значит символов перевода строки нет в твоей строке.

у тебя
все это дело выводится на экран
выводится куда? то есть как: просто отображается в браузере или в форму?
может быть у тебя уже были заменены символы переноса строк до того как отображается твой текст. после чего ты еще раз пытаешься найти символы переноса строки и заменить их на <br>....?
 

sni

Новичок
RoLex ок. c# - генерирует html таблицу . если его в отдельном окне запустить и посмотреть код - переносы строки есть. тут все ок.
едем дальше.
этот c# таблицу мы подгружаемм через js при формировании полной страницы, которую увидит браузер и пользователи (это я имел ввиду вывод на экран). где-то ранее заменены не должны, так как кроме как на <br> по всей логике менять мне не нужно было.... а переносы я бы заметил
 

dimagolov

Новичок
sni. еще раз. если в строке, которая передается в alert есть \n и/или \r, то в диалоге будет несколько строк. если их тим нету, то в одну строку. что тут можно гадать есть переносы, нету?
 

RoLex

Новичок
Автор оригинала: sni
RoLex ок. c# - генерирует html таблицу . если его в отдельном окне запустить и посмотреть код - переносы строки есть. тут все ок.
как ты определяешь что они есть?
едем дальше.
этот c# таблицу мы подгружаемм через js при формировании полной страницы, которую увидит браузер и пользователи (это я имел ввиду вывод на экран). где-то ранее заменены не должны, так как кроме как на <br> по всей логике менять мне не нужно было.... а переносы я бы заметил
судя по этому тексту, информация о том, что ранее символы пересноса строки не были заменены - непроверенная.
 

sni

Новичок
RoLex так как C# генерирует нормальную, человеческую html страницу - код можно легко посмотреть. (правая кнопка- просмотреть html-код) там видно что текст идет с переносами а-ля
<td> первая строка п вп ввп
gdg dg dgd вторая строка
ккккк третья строка
</td>

а не:
<td> первая строка п вп ввп gdg dg dgd вторая строка кккк третья строка
</td>


судя по этому тексту, информация о том, что ранее символы пересноса строки не были заменены - непроверенная.
по коду искал. нету вообще нигде replace'ов во всем проекте....
 

RoLex

Новичок
может в самих селектах INSERT..., SELECT... в БД
\r\n на то и заменяют на <br>,чтобы показать текст с переносами строк. так что это
<td> первая строка п вп ввп
gdg dg dgd вторая строка
ккккк третья строка
</td>

не показатель
 

sni

Новичок
RoLex да нет, я же проверял после запроса к БД из C# , брал в C# строку с ответом БД, находил переносы и заменял... так что там они есть............
 

dimagolov

Новичок
sni, как ты получаешь содержимое td в js?
почему упорно не хочешь алертом полученную строку проверить? у тебя JavaScript ведь не source странички обрабатывает, а?
 

sni

Новичок
dimagolov
в нем есть DIv' у него и беру через innerHtml:
s=row.childNodes(1).childNodes(0).childNodes(0).innerHTML

потом присваиваю другому div'у:
document.getElementById('textpreview').innerHTML= s;

-~{}~ 07.08.07 10:05:

ужас. вот проблема то :)

вспомнил еще, в ячейках текст содержится между тэгом <nobr> ... мжет это к-то влияет

-~{}~ 07.08.07 10:51:

убрал nobr, поставил - pre........... неа.. нету переносов :(

тоесть где-то между C# и js теряются .... в C#-исходниках пишу - заменить /n/p/ на <br /> - меняет...

пришлось этим довольствоваться..... а текст в одну строку выводить с помощью кривого обрезания div'а по высоте:
div style="height:15px; overflow-x:hidden;;overflow-y:hidden"
а дальше: молиться чтобы не вылезло ничего.......

так вот тупо вышло
 
Сверху