event.preventDefault();, но у вас там какие-то жуйквери плугины, которые усложняют расклад при котором можно дать точный код, а у меня нет желания ковыряться в этом дерьме, так что смотрите к ним документацию, там должны быть примеры.
myXhr.upload.onprogress = function(e) {
var percentComplete = e.loaded / e.total;
// opacity
el.style.opacity = percentComplete;
// или ширину какую-нибудь:
el.style.width = percentComplete * 100 + '%';
}
myXhr.upload.onprogress, а не на myXhr.onprogress.
xhr.onprogress – и есть прогресс загрузки файла на сервер. Файл отправляется в обработчик по роуту /storage/upload/comment, но загружается на сервер он не мгновенно, потому что он имеет некоторый размер. В это время многократно стреляет событие onprogress, именно в этом событии и происходит рисование прелоадера на основании таких свойств как event.loaded и event.total.