В вашем коде есть несколько ошибок, но вы определенно на пути к тому, чтобы заставить его работать.
Вы правильно думаете, чтобы изменить значение «src» изображения, это будет правильно, что появляется, но помните, что сервер должен подключиться и загрузить новое изображение.
используя тот же HTML, что и у вас, используйте этот код JavaScript:
function edit_image(){
var doc = document;
var selectedIndex = doc.getElementById('select1').selectedIndex;
var previewVisible = doc.getElementById("preview1").style.visibility;
var randomVisible= doc.getElementById("random1").style.visibility;
if (selectedIndex === 0){
previewVisible = "hidden";
randomVisible = "visible";
} else {
var previewSrc = doc.getElementById("preview1").src;
var selectValue = doc.getElementById('select1').options[selectedIndex].value;
previewSrc = "../resources/uploads/"+ selectValue;
previewVisible = "visible";
randomVisible = "hidden";
}
Я полагаю, что это также было бы хорошим временем, чтобы дать вам несколько советов по написанию эффективного Javascript. Причина, по которой я установил все эти локальные переменные, заключается в том, что локальные переменные намного быстрее, чтобы JavaScript мог читать и взаимодействовать с ними, чем с глобальными объектами. объект «документ» является частью глобальной области видимости, и доступ к нему все время замедляется по мере роста вашей страницы и функций.
Я также устанавливаю переменную для каждого свойства document.getElementById ("someid"), потому что вызовы функций DOM в браузере действительно очень медленные.
Кроме того, установка переменной выглядит так:
var links = document.getElementsByTagName("A");
создает переменную, ссылающуюся на QUERY на DOM, NOT ссылка на массив, содержащий все ссылки на странице. Так как вы постепенно делаете следующее:
links.style.visibility = "visible";
links.innerHTML = "some new text";
В действительности вы выполняете ДВА запроса, чтобы захватить каждый якорь на странице.
Извините, если это много информации одновременно, но этот пример кода выглядел как хороший способ дать вам несколько советов по написанию лучшего Javascript и помочь создать лучшие веб-страницы для Интернета: -)