Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2010, 15:14
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

Не выполняеться Head
Здравствуйте,

Начал изучать JS, но многое непонятно.

Обычно, при программировании стараются сделать чистый код, вынося все лишнее в head, но вынося js код в head из body он просто перестает работать. Возвращаешь все назад, то работает гуд.

В чем проблема ?

В том что браузер читает исходник и выполняя его просто не возвращается к head, а как же тогда функции.

Или я чтото недопонимаю.
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2010, 15:23
Аватар для theo_
Аспирант
Отправить личное сообщение для theo_ Посмотреть профиль Найти все сообщения от theo_
 
Регистрация: 14.08.2009
Сообщений: 51

я так понимаю, что код перестает вызываться..

нужно его вызвать по какому-либо событию. в твоем случае для body прописать onload=имя_функции, которую нужно вызвать

ну или обработать какое-либо другое событие другого элемента...
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2010, 15:45
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

Я пример взял от сюда

присвоение document.form.text.value переменной

Так выполняется
<html>
<head>

</head>
<body>

<form action="">
	<fieldset>
    	<div>
    		<label for="pwd">Пароль: </label>
            <input id="pwd" type="password" />
        </div>

    	<div>
    		<label for="pwd2">Повторите пароль: </label>
            <input id="pwd2" type="password" />
        </div>
        <div>
        	<input id="check" type="button" value="Проверить" />
        </div>
    </fieldset>

</form>

<script type="text/javascript">
	document.getElementById("check").onclick = function() {
		var pwd = document.getElementById("pwd").value;
		var pwd2 = document.getElementById("pwd2").value;
		if(pwd && pwd == pwd2) {
			alert("Пароли совпадают");
		}
	};
</script>

</body>
</html>


А так нет
<html>
<head>

<script type="text/javascript">
	document.getElementById("check").onclick = function() {
		var pwd = document.getElementById("pwd").value;
		var pwd2 = document.getElementById("pwd2").value;
		if(pwd && pwd == pwd2) {
			alert("Пароли совпадают");
		}
	};
</script>

</head>
<body>

<form action="">
	<fieldset>
    	<div>
    		<label for="pwd">Пароль: </label>

            <input id="pwd" type="password" />
        </div>
    	<div>
    		<label for="pwd2">Повторите пароль: </label>
            <input id="pwd2" type="password" />
        </div>
        <div>
        	<input id="check" type="button" value="Проверить" />

        </div>
    </fieldset>
</form>

</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2010, 15:58
Аватар для theo_
Аспирант
Отправить личное сообщение для theo_ Посмотреть профиль Найти все сообщения от theo_
 
Регистрация: 14.08.2009
Сообщений: 51

я не мастер в js, но думаю, что код исполняется
просто, когда он выполняется, элементов dom еще нет.
чтобы он выполнился, нужно оформить код в функцию, и вызвать ее тогда, когда элементы dom уже появятся, например, по событию onload для body
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2010, 17:22
Аспирант
Отправить личное сообщение для Ultimatum Посмотреть профиль Найти все сообщения от Ultimatum
 
Регистрация: 18.06.2010
Сообщений: 63

Все разобрался.

<html>
<head>

<script type="text/javascript">
function test(){
	document.getElementById("check").onclick = function() {
	
		var pwd = document.getElementById("pwd").value;
		var pwd2 = document.getElementById("pwd2").value;
		if(pwd && pwd == pwd2) {
			alert("Пароли совпадают");
		}else{
		alert("Не совпадают");
			};
	
	}
	
	}
</script>

</head>
<body>

<form action="">
	<fieldset>
    	<div>
    		<label for="pwd">Пароль: </label>

            <input id="pwd" type="password" />
        </div>
    	<div>
    		<label for="pwd2">Повторите пароль: </label>
            <input id="pwd2" type="password" />
        </div>
        <div>
        	<input id="check" onclick="test(check)" type="button" value="Проверить" />

        </div>
    </fieldset>
</form>

</body>
</html>


Так у меня работает.
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2010, 19:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Ultimatum
Обычно, при программировании стараются сделать чистый код, вынося все лишнее в head
Да какая разница, где он подключен.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка на JS в head и в body, Есть разница? rolph (X)HTML/CSS 9 03.11.2013 23:50
Дважды выполняеться animate() dima_mak jQuery 1 08.06.2010 08:12
Изменение HEAD перед загрузкой BODY Temchik (X)HTML/CSS 41 15.11.2009 22:06