У меня есть форма, которая отправляет данные на ту же страницу. Основываясь на выборе переключателя пользователя, я вставляю checked = "checked" в элемент формы переключателя, чтобы снова отобразить правильный выбор. Это работает нормально, однако, когда форма отображается повторно (в случае неправильного ввода и т. Д.), Мне нужно раскрыть div (содержащий соответствующие поля формы).
У меня есть событие onclick, которое в первую очередь раскрывает div (до того, как пользователь опубликовал форму), и это работает нормально, но когда я перезапускаю форму, я не хочу, чтобы пользователь вручную отображал снова нажмите кнопку.
Поэтому я пробовал что-то в следующем духе (сильно урезано для целей этого поста) ...
<link href="styles/style1.css" rel="stylesheet" type="text/css" />
<script language="JavaScript">
if (document.getElementById('complete_yes').checked) {
document.getElementById('repair_complete').style.display = 'block';
} else {
document.getElementById('repair_complete').style.display = 'none';
}
</script>
<form action="javascript_test.php" method="POST">
<input id="complete_yes" type="radio" name="complete" checked="checked" value="true"/>Yes
<input id="complete_no" type="radio" name="complete" value="false"/>No
<input type="submit" value="Save">
<div id="repair_complete">
I'm a div!
</div>
... но он возвращает Требуемый объект Ошибка JavaScript (как это происходит на «реальной» странице):
Сообщение: требуется объект
Линия: 3
Char: 1
Код: 0
URI: http://localhost/repair_system/javascript_test.php
Почему это? Я не правильно ссылаюсь на элемент формы? Извиняюсь, если я "div" (намеренно плохой каламбур!), Мне еще предстоит узнать о веселье и играх javascript!