powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос к специалистам JavaScript
2 сообщений из 2, страница 1 из 1
Вопрос к специалистам JavaScript
    #35803402
Фотография Alex721
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По средствам JS реализовать bb-код таблицы.
Хочу использовать принцип CSV, т.е. например:
Код: plaintext
1.
2.
3.
4.
[table]
 11 , 12 , 13 
 21 , 22 , 23 
 31 , 32 , 33 
[/table]
будет выглядеть так:
111213212223313233


Единственное, что я нашел по этой теме это разделение в строке /t - новая ячейка /n - новая строка:
=<script language="javascript">

document.writeln("<table border='1'> <tr>");

var strbuf = new String('{TEXT}/n/e');
var i;
var k;
var l=1;
var j=0;
var namb=[1,1];

for (i = 0; i<strbuf.lastIndexOf("n/e"); i++) {
if (strbuf.charAt(i)=="/") {
i++;
switch (strbuf.charAt(i)){
case "t" :
namb[0]++;
break;
case "n" :
if (namb[0]>namb[1])
namb[1]=namb[0];
namb[0]=0;
break;
}
}
}

for (i = 0; i<strbuf.lastIndexOf("n/e"); i++) {
if (strbuf.charAt(i)=="/") {
i++;
switch (strbuf.charAt(i)){
case "t" :
document.writeln("<td>"+strbuf.substring(j,i-2)+ "</td>");
namb[0]++;
i++;
j=i;
break;
case "n" :
if (namb[0]<namb[1]){
l=(namb[1]-namb[0]);
document.write("<td colspan='",l,"'>");
document.writeln(strbuf.substring(j,i-1)+"</td></tr>");
}
else
document.writeln("<td>"+strbuf.substring(j,i-1)+ "</td></tr>");
i++;
j=i;
namb[0]=0;
break;
default : break;
}
}
}

document.writeln("</td></tr></table>");

</script>

Как исправить этот код под пример выше? Т.е. разделитель ячеек - "," (или другой символ), а разделитель строк - <br> или #13
...
Рейтинг: 0 / 0
Вопрос к специалистам JavaScript
    #35803446
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex721,

Cтрока таблицы формируется примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
var s = "2,2,2,2,2";

var trow = "<tr><td>"+ s.split(",").join("</td><td>")+"</td></tr>";

document.write("<table>")
document.write(trow)
document.write("</table>")

Это самый простой вариант, но я бы лучше сделал через DOM.

Ключевые слова для поиска при работе способом через DOM:
createNode и appendChild
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Вопрос к специалистам JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]