These events are not fired in response to changes made to the values of form controls by scripts. (This is to make it easier to update the values of form controls in response to the user manipulating the controls, without having to then filter out the script's own changes to avoid an infinite loop.)
Он триггерится только на пользовательское изменение.
Test11, какой вам готовый код, когда никто не знает что вы там за костыли используете? Которые даже сами не понимаете и другим объяснить не можете или не хотите
var sd = ea(...);
sd.onchange = ...
sd.oninput = ...
и это только в случае если эта функция возвращает дом элемент или еще что-нить с подобным апи, иначе работать не будет.
Test11, и в итоге нихрена не поменялось почти.
Я ж сказал, сначала в переменную, потом уже sd.oninput, sd.change.
Вот если вы не понимаете как оно работает, зачем пытаетесь всё писать "сокращенно"?
Test11, а что именно не понятно по пунктам? как результат работы функции присвоить переменной или как объекту переменной поменять свойство .onchange и .oninput?
при этом когда выбирают фото для загрузки оно должно отобразиться на странице до отправки всей формы. Соответственно для отображения фото надо его загрузить.
kuller, а можно погуглить на тему File API и URL.createObjectURL() и ничего лишнего не слать на сервер
Test11, вы что вообще творите? Нафига пытаться навесить обработчик события к function expression который присваиваете в другой обработчик события? Вы хоть думайте головой!
Занесите результат работы неведомой функции ea в переменную, к ней в 2 отдельных выражения добавьте эти обработчики(а по хорошему, как сказали выше, используйте addEventListener всегда, кроме фоллбэка под IE8).