Uncaught TypeError: Cannot read properties of nullЧитаем ошибку, потом внимательно читаем ошибку.
Я понимаю что можно найти ответ в интернете но я минут 10 полазил так и не понял.Почему не поняли? Что-то в объяснении из интернета вам не понятно? Так вот то что не понятно и и надо спрашивать.
TL;DR;Что из перечисленного непонятно?
You are accessing a property of an object that is null. For example, document.getElementById('stuff') returns null. So adding .value will cause the error.
You are trying to access a DOM element before the DOM is ready. Use onload or DOMContentLoaded.
Test if an object is valid before accessing its property.
Какая то магия, есть формаМагия вне Хогвардса не работает, все поддается куда более простым законам природы )
И вообще можно посмотреть что уходит постом?для посмотреть что отправляется - смотрите девтулс - нетворк, там все видно.
я больше всего понять не могу, почему форма отправляется с кнопки, а через jquery нет.Значит какое-то условие в вашем коде не выполняется, логично же. Ставьте console.log() по ходу выполнения цепочки, смотрите значения, думайте...
Когда на нее заходит пользователь, то ему необходимо изначально выбрать интересующий его продукт.Что значит выбрать? Это что, селектор?
Допустим, человек выбрал "Product 1"Да что там за "выбрал" такой???
(продуктов на самом деле несколько, и для каждого в файле создана функция, которая меняет/обновляет данные в соответствующем div, p или теге span).Сурово...
Для некоторых элементов (которые подгружаются в виде ссылок) я хотела бы вывести более подробное описание в модальном окне, но это у меня не выходит.Описания ссылок? Элементов? По какому действию должно появляться модальное окно? По клику? На линк продукта? Или куда?
Подскажите пожалуйста, возможно ли каким-то образом подгружать данные в модельное окно после добавления/обновления элементов с контентом?!Что за элементы с контентом - новые продукты? Или продукты не меняются, а меняются только описания?
if (!e) e = window.event;
if (e.shiftKey) {/*shift is down*/}
if (e.altKey) {/*alt is down*/}
if (e.ctrlKey) {/*ctrl is down*/}
if (e.metaKey) {/*cmd is down*/}
Это такой простой способ.Способ нормальный, просто к искусственному интелекту это относится так же как табличка экселя с 2 формулами - то есть никак. Тупо статистика в самом примитивном виде.
Мне просто интересно, а можно сделать это как то лучше?Конечно можно, просто понадобится непропорционально больше усилий на получение незначительного улучшения, например еще учитывать длительность просмотра того или иного жанра, активность типа коментариев, лайков, рейтингования и прочие мелочи. Короче, для одного небольшого сайта практически нерентабельно, другое дело объемы ютуба, там все это работает и приносит лишнюю копеечку.
Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?Нет, если пользователей будет 1000, а кино в среднем около часа, то активность в плане записи в бд будет околонулевая, за 60 минут ~1000 действий, что примерно равно 1 действие в 3 секунды. Даже если активность будет в 10 раз больше, а пользователей тоже в 10 раз больше - активность в итоге будет около 100 действий за 3 секунды, или 30-40 действий в секунду, для нормальной структуры бд это вообще не нагрузка.
С точки зрения практичности - нет, так как это полная шляпа, мы такое писали в 2005, когда аякс как явление еще не существовал, а уже в 2012 появился нормальный XMLHttpRequest здорового человека, на который все быстренько переползли.
С точки зрения практичности и безопасности данный способ оправдывает себя?
Задавшись вопросом безопасности отправки запросов через ajaxЕсли возникают вопросы безопасности при отправке данных через пост - значит вы что-то не то передаете...