Ввод файла обмена изменить IMG SRC и изменить цвет изображения

Событие onchange не работает. Что я должен сделать, чтобы получить результат на той же странице. Я не хочу перенаправлять на любую другую страницу, чтобы загрузить изображение. Это проблема из-за opencart? Я не знаю, правильно ли писать так в cpanel. Я использую OpenCart и Cpanel. Есть ли другой путь?

HTML

 <input type='file' id="upload" onchange="readURL(this.value)" />
    <img id="img" src="#" alt="your image" />

скрипт

function readURL(input) {
var url = input.value;
var ext = url.substring(url.lastIndexOf('.') + 1).toLowerCase();
if (input.files && input.files[0]&& (ext == "gif" || ext == "png" || ext == "jpeg" || ext == "jpg")) {
    var reader = new FileReader();

    reader.onload = function (e) {
        $('#img').attr('src', e.target.result);
    }
    reader.readAsDataURL(input.files[0]);
}
else{
     $('#img').attr('src', '/assets/no_preview.png');
  }
}

JSFiddle

Ответы на вопрос(3)

Ваш ответ на вопрос