Я всех горячо приветствую. Не понимаю почему из form5 значение берется, а вот через форму таким же макаром не отправляется
<script>
var form5 = document.getElementById('name').value;
function idlolka3(name) {
switch (name) {
case 1:
document.getElementById('block1').style.display = 'inline-block'
document.getElementById('block2').style.display = 'none'
document.getElementById('block3').style.display = 'none'
break;
case 2:
document.getElementById('block1').style.display = 'none'
document.getElementById('block2').style.display = 'inline-block'
document.getElementById('block3').style.display = 'none'
break;
case 3:
document.getElementById('block1').style.display = 'none'
document.getElementById('block2').style.display = 'none'
document.getElementById('block3').style.display = 'inline-block'
break;
default:
alert( 'Такого блока нет' );
}
}
</script>
<form onsubmit="javascript:idlolka3(document.getElementById('name').value=='')" method="post">
<p><select size="1" id="name" name="hero">
<option disabled>Выберите:</option>
<option selected value="1">Блок 1</option>
<option value="2">Блок 2</option>
<option value="3">Блок 3</option>
<option value="4">Блок 4</option>
</select> - <input type="submit" value="Отправить"></p>
</form>
<a href="javascript:idlolka3(3)">Смелей</a>
<div id="block1" class="block">Заголовок 1</div>
<div id="block2" class="block">Заголовок 2</div>
<div id="block3" class="block">Заголовок 3</div>
Скрипт должен при выбранном в списке блока показывать его, а остальные скрывать. Через кнопку "Смелей" работает. Через форму значение не передает. От сюда вопрос: "Где я ошибся?"
На будущее: как можно оптимизировать скрипт, чтобы он, например, брал нужное число, подставлял в конец id блока для его поиска и САМОЕ ГЛАВНОЕ - остальные скрывал? Есть идея есть это через подстановку block + "параметр", но до такого мне, как до Китая. Что касается исключения, то можно организовать применение правила для всех из диапазона, кроме активного, опять же, мне пока далеко до этого.