Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Скрипт работает только в Chrome (https://javascript.ru/forum/css-html/24474-skript-rabotaet-tolko-v-chrome.html)

chelovechek 01.01.2012 09:55

Скрипт работает только в Chrome
 
Всех с Новым Годом :) У меня вот такая проблема, что все браузеры кроме chrome не выполняют скрипт, я думаю что им не нравится как я вызываю функцию postroenie()
Вот сам код скрипта:
function zapis()
	{
		document.write("Введите размерность матрицы:<center><table border=0 width=200><tr><td>Строки:</td><td><select id=stroka><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option></select></td></tr><tr><td>Столбцы:</td><td><select id=stolbech ><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6>6</option><option value=7>7</option><option value=8>8</option><option value=9>9</option></select></td><td></tr></td></tr></table><input type=button id=next value=Далее onClick=postroenie()></center>");	
	}
function postroenie()
	{
		var n=document.getElementById('stroka').value;
		var m=document.getElementById('stolbech').value;
		n++;
		m++;
		document.write("<table width=200 border=0>");
		for (var i=0; i<=n; i++) 
			{
				document.write("<tr>");
				for(var j=0;j<=m;j++)
					{
						if (i==0)
							{
								if (j==m) document.write("<th>Производители:</th>");
								else document.write("<th></th>");
							}
						else
							if (j==0 && i==n) document.write("<th>Потребители:</th>");
							else
								if (j==0 && j!=n) document.write("<th></th>");
								else
									{
										document.write("<td>");
										document.write("<input type=text size=6 id="+i+j+">");
										document.write("</td>");
									}
					}
				document.write("</tr>");			
			}
		document.write("</table>");
		document.write("Выберите операцию:<center><table><tr><td><select id=operachion ><option value=1>Сложение</option><option value=2>Вычитание</option><option value=3>Умножение</option><option value=4>Умножение на число</option></select></td></tr></table></center>");
	}

Вот код страницы с которой вызываю:
<html>
<head>
<title>Действия над матрицами</title>
<script type="text/javascript" src="js/matricha.js"></script>
</head>

<body>
<a onclick="zapis()"> Сложение двух матриц </a><br/>
</body>
</html>

Gozar 01.01.2012 12:28

document.write замени на el.innerHTML

и по возможности никогда не используй document.write и не по возможности тоже ;)

Gozar 01.01.2012 12:30

А также сделать из быдлокода нормальный код путем расстановки кавычек:

onClick=postroenie()>
//заменить на 
onсlick="postroenie()">

и т.д.

Gozar 01.01.2012 12:33

Кавычки можно писать и одинарные и экранировать тоже можно , если ты вдруг не знаешь, пр:

el.innerHTML = '<input onclick="func()">';

chelovechek 01.01.2012 14:34

Большое спасибо :) постараюсь все исправить . Эт мой первый более серьезный скрипт :)

chelovechek 01.01.2012 19:12

Попытался заменить document.write() но ничего не вышло

elf2002 01.01.2012 21:45

дай ссылку на сайт-страницу, чтобы посмотреть, где оно ругается.

chelovechek 01.01.2012 22:57

elf2002, пока что никаких ссылок нет , только выше представленный код

elf2002 03.01.2012 03:45

ладно, что у тебя в консоли js-ошибок выдает?

chelovechek 03.01.2012 12:41

ошибок никаких нет, просто браузеры кроме chrome не выполняют. Решить это я так и не смог, и обошел это с помощью php


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