"1. В моём коде есть очень много повторяющихся частей и я не знаю, как можно оптимизировать их." - ну вот например классы на tr у вас лишние, индексы рядов вы вполне можете брать из того же цикла в котором распихиваете эти данные по ячейкам. Сохранять ссылки на ряды (tr) вроде бы тоже не очень нужно,
"2. Я не знаю, как сделать данное задание с помощью ооп (и при этом мне известна теория, но я не могу применить её на практике)." - ну я тоже не вижу как сюда можно врубить классы. ООП же оно существует не для того чтоб им обильно полить любой код и увидеть как он превращается в лилию, ООП существует для конкретных нужд, вот почитайте. Мне кажется для практики ооп лучше взять другое задание. Потому что придумывать в таком крошечном примере куда впихнуть ооп это задача сложнее чем применить ооп))
"существует некое количество объектов (например 200), при клике на любой из которых вызывается одна функция с разными параметрами соответствующими событию onclick каждого объекта" - вешаете обработчик клика на один из родительских для них элементов, при клике проверяете был ли совершен клик на нужном вам элементе. Если да, то совершаете какие-то действия, а данные можете хранить например в data
Если речь о том чтоб запросить с сервера SVG и потом этот SVG отобразить как часть DOM, то вы просто берете полученный код SVG и кладёте в DOM как SVG элемент
Эта задача неразрешима в условиях которые вы описали. Либо вы неправильно поняли задачу, либо вы неправильно поняли условия, либо вы задачу и/или условие переписали неправильно,
sinneren, это о чем разговор? Со мной спорить незачем, спорить лучше с подавляющим большинством PHP/Java фреймворков которые так не думают, а просто возвращают текст ошибки в ответе
Кирилл, как-то так мб. Можно еще попробовать вручную поймать ошибку и отдать её пользователю
Кирилл, ну тогда да, это на сервере надо смотреть. Или в файле mail.php сделать вывод ошибок, еще раз покидаться запросами и посмотреть что вернёт вызов mail.php
sinneren, полезный коммент, лайкну. Ставлю полтос, что сервер также отдал текст ошибки и его можно посмотреть в инфе о запросе через инструменты разработчика
https://medium.com/machine-learning-world/how-i-ha...
https://github.com/sentisamosa/mi-band-2-connect