Глобальные переменные Javascript не работают как ожидалось. Помогите?

Я новичок в Javascript. Я столкнулся с проблемой глобальных переменных. Я не могу понять, почему глобальные переменные не работают, так как код выглядит нормально. Пожалуйста, помогите мне решить эту проблему. Сначала я кратко объясню код. У меня есть текст на странице, который меняется на текстовое поле при нажатии. Когда я определяю переменные внутри тела функции, код начинает работать нормально. Когда эти переменные определяются глобально, как в следующем коде, консоль выдает ошибку: переменная не определена. Вот мой код:

<!DOCTYPE HTML>
<html>
<head>
<title>Span to Text Box - Demo - DOM</title>
<script type="text/javascript" language="javascript">
var textNode = document.getElementById('text');
var textValue = textNode.firstChild.nodeValue;
var textboxNode = document.getElementById('textbox');
var doneButton = document.getElementById('done');
function change()
{
   textboxNode.setAttribute('value', textValue);
   textNode.style.display = 'none';
   textboxNode.setAttribute('type','text');
   doneButton.setAttribute('type','button');
}
function changeBack()
{
   textNode.firstChild.nodeValue = textboxNode.value;
   textNode.style.display = 'block';
   textboxNode.setAttribute('type', 'hidden');
   doneButton.setAttribute('type','hidden');
}
</script>
</head>

<body>
<p id="text" onClick="change()">Click me!</p>
<form onSubmit="return false;">
  <input type="hidden" id="textbox" />
  <input type="hidden" id="done" onClick="changeBack()" value="Done" />
</form>
</body>
</html>

Помогите пожалуйста! Заранее спасибо.

5
задан Zoidberg 26 November 2011 в 17:49
поделиться