Вход

Просмотр полной версии : Поменять элемент матрицы при нажатии кнопки в другом фрейме


Alexiy
09.11.2011, 11:04
Посоветуйте, пожалуйста, столкнулся с такой проблемой:
Страница разделена на два фрейма, в правом фрейме создается массив с числами от 1 до 100 и записывается в виде таблицы, в левом - кнопка, которая меняет местами элементы [0][0] и [1][1]. Проблема в следующем: при нажатии кнопки функция срабатывает только один раз, потом больше кнопка не работает и пишет, что ошибка страницы. Что делать? Заранее, спасибо...

Главный файл:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Фреймы</title>
</head>
<frameset cols="50%,*">
<frame src="lev.html" name="LEV">
<frame src="pr.html" name="PR">
</frameset>
</html>

Левый фрейм:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Таблица на Javascript</TITLE>
<SCRIPT type="text/javascript">
function PoChas (a)
{
d=a[0][0];
a[0][0]=a[1][1];
a[1][1]=d;
parent.frames.PR.table (a);
}
</SCRIPT>
</HEAD>
<body>
<BUTTON onClick="PoChas (parent.frames.PR.a);">
Кнопка
</BUTTON>
</BODY>
</HTML>

Правый фрейм:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Таблица на Javascript</TITLE>
<SCRIPT type="text/javascript">
function table (a)
{
var rows=a.length, cols;
document.writeln ('<table width="100%" cellpadding="4" cellspacing="0" border="1" align="right">');
for (i=0; i<rows; i++)
{
document.writeln ('<tr>');
cols=a[i].length;
for (j=0; j<cols; j++)
{
document.writeln ('<td>'+a[i][j]+'</td>');
}
document.writeln ('</tr>');
}
document.writeln ('</table>');
}
</SCRIPT>
</HEAD>
<body>
<SCRIPT type="text/javascript">
var a=new Array (
new Array ('1','2','3','4','5','6','7','8','9','10'),
new Array ('11','12','13','14','15','16','17','18','19','20' ),
new Array ('21','22','23','24','25','26','27','28','29','30' ),
new Array ('31','32','33','34','35','36','37','38','39','40' ),
new Array ('41','42','43','44','45','46','47','48','49','50' ),
new Array ('51','52','53','54','55','56','57','58','59','60' ),
new Array ('61','62','63','64','65','66','67','68','69','70' ),
new Array ('71','72','73','74','75','76','77','78','79','80' ),
new Array ('81','82','83','84','85','86','87','88','89','90' ),
new Array ('91','92','93','94','95','96','97','98','99','100 ')
);
table (a);
</SCRIPT>
</BODY>
</HTML>

ksa
09.11.2011, 11:49
Что делать?
Таки изменить:
- подход к созданию таблицы
- подход к изменению мест данных ячеек таблице