Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не вызывается ни одна функция на javascript (https://javascript.ru/forum/misc/21215-ne-vyzyvaetsya-ni-odna-funkciya-na-javascript.html)

mrflow 01.09.2011 16:09

Не вызывается ни одна функция на javascript
 
Повторюсь: Не вызывается ни одна функция на javascript
Например:
.....
<form name="order" action="saver.php" method="POST" onsubmit="CheckInformation();">
.....

function CheckInformation()
{
        var x, y, res, cap, i;
   	do {
		x = Math.floor(Math.random(1,25)*10)+1;
		y = Math.floor(Math.random(1,25)*10)+1;
		res = x + y; 
		if( i == 777 ) { cap = prompt('Вы ответили неверно! Пожалуйста, попробуйте ещё раз. Сколько будет '+x+' + '+y+'?'); }
		else { cap = prompt('В целях безопасности сайта, вы должны ответить на вопрос. Сколько будет '+x+' + '+y+'?'); i=777; }
	}
	while(cap != res)
	return true;
}


Это всё в принципе работало, пока я не сменил <p> на ячейки таблиц. Я не могу конкретно сказать, в какой момент все перестало работать.
Чем вообще может быть это вызвано? не работают даже функции с простым выводом сообщения. Раньше все работало. Javascript работает, если только прописывать его вместо вызова функции.
Т.е. так:

....
<table width="80%" align="center"><tr>
<td class='m_1' OnMouseOver="className='m_2'" OnMouseOut="className='m_1'" align="center" onclick="document.getElementById('hide_company').style.display='inline-table';">Юридическое лицо</td>
</tr></table>
....

Snipe 01.09.2011 16:56

а консоль ничего не пишет?
Что за i == 777, вроде больше нигде это i не встречается? Нельзя сравнивать переменные, которые никак не объявлены.

mrflow 01.09.2011 17:34

все объявлено. я просто не стал приводить весь код.
я не пользуюсь консолью, пишу код на плагине для джумлы Jumi. Он позволяет встраивать яву/хтмл/пхп в сайт. есть вероятность, что глючит именно плагин, но с другой стороны, раньше все работало. причем менял я совсем мало.

может ли быть причина, что где-то опечатка или лишний символ?

popov654 02.09.2011 00:18

Может и плагин...

Gvozd 02.09.2011 01:04

Цитата:

Сообщение от mrflow
я не пользуюсь консолью

ССЗБ
самое время начать пользоваться консолью ошибок, в которую пишутся все произошедшие с JS ошибки.
а еще лучше заюзать, например, Firebug, который является одним из лучших инструментов JS-разработчика, для написания и отладки веб-приложений.

mrflow 02.09.2011 05:40

Спасибо, консоль спасла.
Дело было в элементарном, как и обычно бывает :)
....
alert("Поле "Название компании" заполнено неверно. Оно должно состоять из минимум 2-х букв.");
....


Странно, что только из-за одной такой глупой ошибки не работало абсолютно всё.
Или JavaScript работает, как гирлянда? )

Kolyaj 02.09.2011 09:06

А в других языках при синтаксической ошибке всё работает?

розовый слоник 02.09.2011 13:03

Цитата:

Или JavaScript работает, как гирлянда?
гирлянды бывают разные :)
а вообще js выполняется синхронно, то есть все что находится после какихт то ошибок работать не будет.
ну и + ко всему тут сказаному начините использовать debugger для отладки скриптов если вам не понятно как работает ваш скрипт

Kolyaj 02.09.2011 13:28

Цитата:

Сообщение от розовый слоник
а вообще js выполняется синхронно, то есть все что находится после какихт то ошибок работать не будет.

Если есть синтаксическая ошибка, то вообще ничего работать не будет, т.к. интерпретатор не сможет разобрать исходный код. Как и в любом другом языке, кроме какого-нибудь Бейсика.

mrflow 02.09.2011 13:52

спасибо всем за ответы.


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