function Selected(b) {
var label = b.value;
if (label==243)
{
document.getElementById("Block3").style.display='block';
document.getElementById("Block4").style.display='none';
document.getElementById("Block5").style.display='none';
document.getElementById("Block6").style.display='none';
fields_enable_and_disable('Block3', ['Block4', 'Block5', 'Block6']); // Block3 - отображаем, значит, у него нужно вкл. все поля ввода (disabled = false), остальные блоки - перечисляем вторым аргументом, там - наоброт, выкл. поля (disabled = true).
}
<style>
html, body
{
margin: 0;
padding: 0;
}
div#product_image_files
{
display: block;
width: 100px;
height: 100px;
background-color: red;
}
</style>
<div id="product_image_files">
</div>
<script>
/* Функция для имитации задержки времени */
function randomInteger(min, max)
{
return Math.round(min - 0.5 + Math.random() * (max - min + 1));
}
/* Функция для последовательной отправки сообщений через рекурсию */
function send_message(i, count)
{
console.log('send i = ' + i); // фиксируем в логах, что обратились к функции отправки
var delay = randomInteger(50, 500); // получаем некую задержку передачи сообщения
setTimeout(function() // Имитируем контструкцию ajax, с callback-функцией
{
console.log('response i = ' + i); // фиксируем в логах, что получили ajax-ответ
alert(delay); // выводим значение текущей задержки
console.log('after alert i = ' + i); // фиксируем момент, когда выполнение двинулось дальше алерта
i++; // наращиваем счетчик итерации
if(i < count) // не дошли до макс. кол-ва собщений, отправляем дальше
send_message(i, count);
else
{
var element = document.getElementById('product_image_files');
element.style.display = 'none'; // что-то делаем с узлом на странице
console.log('change elem display i = ' + i); // фиксируем, что отработали работу с узлом
console.log('Finish!');
}
}, delay);
}
send_message(0, 5); // делаем первую отправку - начало рекурсии
</script>
Если логика не ограничивается одним запросом, то речь идет не о представлении (view), а о хранимой функции/процедуре.
Функции удобны тем, что если у вас куча приложений, то они дают некий единый API к данным, если надо сделать правки в хранимой функции (если это не касается интерфейсной части), то потом не нужно лазить по всем исходникам приложений и делать синхронные правки, избегаем стрельбы дробью.
Минус - некоторая часть логики, которую могла делать серверная часть приложения ляжет нагрузкой на СУБД слой.