Консультация № 109554
15.11.2007, 15:36
0.00 руб.
0 2 2
Здравствуйте, эксперты! Я начинающий в JavaScript и у меня возник такой вопрос: я создаю отдельный файл с массивом, допустим, A.js; записываю в *.html файле путь к нему, типа: "A.js" lang....></script> - это пишу в в контейнере перед <body>; а потом мне нужно вывести определённую строку этого массива на страничка. Вот с выводом у меня ничего не получается - помогите разобраться?!
P.S.: это сделано для того, чтобы вся нужная информация была в одном файле js (например - список дисков), а в разных файлах html выводились разные пункты из отого списка.

Обсуждение

Неизвестный
15.11.2007, 17:19
общий
это ответ
Здравствуйте, Vityaz!
Для того чтобы вывести элемент в ХТМЛ вам надо присваивать элементам имена ил айди. Второй вариант много короче и его уже давно понимают все браузеры - document.getElementById()
В примере в приложении элемент введенный в текстовое поле будет выводиться в ячейке таблицы после нажатия на кнопку. Там самый просто пример, но даже с ним можно очень много сделать :)

Приложение:
<table><tr><td id="enter"></td></tr></table><input type="text" id="inp" value=""><input type="button" onClick="Show();"><script language="javascript">function Show() {var el = document.getElementById("inp").value; //получаем что введено в полеdocument.getElementById("enter").innerHTML = MyArray[el]; //выводим в таблицу элемент из массива с этим номером, массив я не инициализиоровал тут :)}</script>
Неизвестный
19.11.2007, 14:37
общий
это ответ
Здравствуйте, Vityaz!

Вот привожу исходник файла со скриптом:
<code>ms = new Array(3);
ms[0] = new Array(1,2,3);
ms[1] = new Array(4,5,6,6,7,8,9,0);
ms[2] = new Array(7,8,9,11);
function ArrayRow()
{
var row = num.value;
var s="";
for (i=0; i<=ms[row-1].length-1; i++)
{s = s + "<td>"+ms[row-1][i]+"</td>";} //собираем все элементы в строку

document.getElementById("writeRow").innerHTML = s; //выводим получившуюся строку
}
</code>

Код самой html-страницы:
<code><html>
<head>
<script src="script.js" type=text/javascript language=javascript></script>
</head>

<body>
<input type="text" name="num" value="1"><button onClick="ArrayRow();">Ok</button>
<table><tr id="writeRow"></tr></table>
</body>
</html></code>

Что касается исходников: в функцию ArrayRow() в качестве параметра передается номер строки которую необходимо вывести на экран. Поскольку нумерация элементов в массиве начинается с 0, то и цикл у нас от <i>0</i> до <i>размерность_строки-1</i>.

Good Luck!!!
Форма ответа