Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получил текст, как его вместить в таблицу? (https://javascript.ru/forum/misc/4636-poluchil-tekst-kak-ego-vmestit-v-tablicu.html)

Serj_Goblin 10.08.2009 12:45

получил текст, как его вместить в таблицу?
 
Добрый день.
Подскажите пожалуйста.
Вот есть код:
Код:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<script type="text/javascript">
var txt = "";
function writetxt() {
txt = document.getElementById("tags").innerText
document.getElementById("result").innerText = txt
}
function cleartxt() {
txt = "";
document.getElementById("result").innerText = txt;
document.getElementById("tags").innerText = txt
}
</script>
</head>

<body>
<table border="10" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><form action="">
<textarea cols="15" rows="15" name="tags" id="tags"></textarea><br>
<input type="button" value="Посмотреть" onClick="writetxt();">&nbsp;&nbsp;
<input type="button" value="Очистить" onClick="cleartxt();">
</form></td>
</tr>
</table>
<table width="50" border="10" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<div id="result"></div>
</td>
</tr>
</table>
</body>
</html>

Например ввожу я сюда 50 символов. Они вводятся с переносом через каждые 15 символов.
Когда нажимаю кнопку показать текст выводится одной строкой.

Подскажите пожалуйста как его вывести чтобы он разместился в таблице шириной 50 пикселов и не раздвигал таблицу, а переносил слова по достижении правой границы?

Riim 10.08.2009 13:40

&shy;
<wbr />
<i style="display: -moz-inline-box; display: inline-block;"></i>

Serj_Goblin 10.08.2009 14:55

Подскажите пожалуйста куда это вставить?
Тэги &shy; <wbr /> я так понимаю надо ставить ручками в нужном месте, но в данном случае это не подходит т.к. текст который надо вывести в ячейку определенной шириной получаю командами
txt = document.getElementById("tags").innerText
document.getElementById("result").innerText = txt
как я разобрался они возвращают просто строку без всяких управляющих кодов.
по поводу стилей пробовал сделать так:
Код:

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
<STYLE type="text/css">
BODY {
        cursor: hand;
        margin: 0px;
        padding: 0px;
        border: 2px outset;
        background-image: url( ../images/misc/headline-bg-lite.gif );
}
#result {
        display: block;
        font-family: Tahoma;
        font-size: 11px;
        color: #48444A;
        text-align: center;
        overflow: hidden;
        text-overflow: ellipsis;
}

ну и потом далее по тексту, и все равно не работает.

Riim 10.08.2009 15:35

public static string AddConditionalLineBreaks(string text, string conditionalLineBreak, int length)
{
	if (text == null)
	{
		return text;
	}
	return Regex.Replace(text, "(\\S{" + length + "})(?=\\S)", "$1" + conditionalLineBreak, RegexOptions.Compiled | RegexOptions.Multiline);
}

public static string AddConditionalLineBreaks(string text, int length)
{
	return AddConditionalLineBreaks(text, "&shy;", length);
}

Serj_Goblin 10.08.2009 16:13

это похоже совсем для крутых профи...
Примерно понял что эта штука должна делать, но использовать не получается.
Объясните пожалуйста куда это вставить? В раздел <script> или еще куда? Потом
public static string AddConditionalLineBreaks(string text, string conditionalLineBreak, int length)
и
public static string AddConditionalLineBreaks(string text, int length)
функции с одинаковым именем но разными параметрами...... Т.е. мне надо вызвать одну, а она уже вызовет другую, но как определится какую именно вызывать первую?
Я попробовал это запихнуть в раздел <script> и вызвать после строки
txt = document.getElementById("tags").innerText
таким образом
txt = AddConditionalLineBreaks (txt,3), а дальше по тексту, но в результате ничего не вывелось..... Помогите пожалуйста.,..

Андрей Параничев 10.08.2009 22:51

Riim,
Мне кажется, или...

Riim 11.08.2009 03:23

Serj_Goblin, это на C#. Тебе нужно переписать на php или на javascript, смотря, где применять будешь.

Цитата:

Сообщение от Serj_Goblin
функции с одинаковым именем но разными параметрами...... Т.е. мне надо вызвать одну, а она уже вызовет другую, но как определится какую именно вызывать первую?

Какую функцию запускать определяется по типу передаваемых значений и количеству аргументов. В javascript 2.0 такая возможность тоже будет, очень удобно кстати.

Цитата:

Сообщение от Андрей Параничев
Мне кажется, или...

Смотря, что кажется.

Kolyaj 11.08.2009 09:16

Цитата:

Сообщение от Serj_Goblin
public static string AddConditionalLineBreaks(string text, string conditionalLineBreak, int length)
и
public static string AddConditionalLineBreaks(string text, int length)

В JavaScript нет перегрузки методов, за ненадобностью.

Цитата:

Сообщение от Riim
Какую функцию запускать определяется по типу передаваемых значений и количеству аргументов. В javascript 2.0 такая возможность тоже будет, очень удобно кстати.

Это уж и не JavaScript тогда будет.

Riim 11.08.2009 09:40

Цитата:

Сообщение от Kolyaj
В JavaScript нет перегрузки методов, за ненадобностью.

В любом языке можно обойтись (наверно), но это часто действительно удобно, по крайней мере, не мешает.

Цитата:

Сообщение от Kolyaj
Это уж и не JavaScript тогда будет.

Почему?

Kolyaj 11.08.2009 09:57

Цитата:

Сообщение от Riim
В любом языке можно обойтись

Не в любом, в тех же плюсах, если уж ты указал, что функция должна принимать два инта, то она и будет принимать два инта.

Цитата:

Сообщение от Riim
Почему?

Ну вот скажи, зачем в JavaScript перегрузка методов, если учесть, что в концепцию языка она не ложится вообще никак? Объект -- это хэш, в хэше не может быть двух свойств с одним ключом, т.е. нужно переделывать концепцию объектов (для начала), а это уже не JavaScript в сегодняшнем понимании будет.


Часовой пояс GMT +3, время: 13:51.