Перенесите «квадрат» на другую страницу в сетку после нажатия кнопки

#javascript #html #css #gridview #css-grid

Вопрос:

Я работаю над проектом, в котором студент или школа могут добавлять проекты для поиска сотрудников. Я сделал страницу, на которой пользователь может заполнить подробную информацию, а рядом с полями есть квадрат предварительного просмотра, где пользователь может увидеть, как это будет выглядеть.
После того, как пользователь нажмет на кнопку загрузить, квадрат должен быть виден на главной странице (лента). Все эти квадраты должны быть расположены в виде сетки с 3 или 4 квадратами в строке.

Есть ли способ, которым я могу перенести эти квадраты с заполненными деталями в сетку?
Эти квадраты также необходимо отправить в базу данных, но сейчас в этом нет необходимости.

Страница, на которой пользователь заполняет данныевведите описание изображения здесь

Домашняя страница, где должна быть сетка(?) и где можно увидеть квадратвведите описание изображения здесь

Код для квадрата предварительного просмотра

 <div class="preview">
        <div class="content">
            <h1 id="previewDate"></h1>
            <h1 id="previewTitle"></h1>
            <p id="previewDescription"></p>
        </div>
        <div class="bottom">
            <button>See more</button>
            <p>Quick look</p>
        </div>
        <div class="aside">
            <div class="status">
                <img src="img/green.png" alt="status">
                <p>Open</p>
            </div>
            <div class="persons">
                <img src="img/Icon ionic-md-person.png" alt="persons">
                <p id="previewPersons"></p>
                <p>/</p>
                <p id="previewPersons2"></p>
            </div>
            <div class="hours">
                <img src="img/Icon awesome-clock.png" alt="time">
                <p id="previewHours"></p>
            </div>
        </div>
    </div>
 

Ответ №1:

Вы говорите: «Эти квадраты также нужно отправить в базу данных, но сейчас в этом нет необходимости»., но это так.

Нормальный поток был бы:

  • пользователь делает что-то, чтобы создать «вещь»
  • «вещь» загружается на сервер
  • на другой странице «вещь» извлекается с сервера и отображается

Теперь, если вы создаете SPA (одностраничное приложение), вы можете сохранить «вещь» в памяти и показать ее на другой странице при переключении. Перечисленные вами теги не указывают на то, что вы используете СПА-центр (распространенными фреймворками СПА могут быть такие вещи, как React, Vue, Angular или Lit/Polymer, хотя это не строго СПА-центры, и вам также не нужна структура для СПА-салона).

Аналогично, вы также можете хранить «вещь» в localStorage, IndexedDB или файле cookie.

Хотя все это будет доступно только для просмотра на компьютере пользователя, и, вероятно, не совсем то, что вы хотите, и, вероятно, даже сложнее, чем просто загрузить его на сервер.

Скорее всего, вы поставите телегу впереди лошади на этом, и то, что она будет загружена на сервер первой, сделает вашу жизнь менее сложной.

Комментарии:

1. Ах, я понимаю. Спасибо за ваш ответ, был действительно полезен! Поток, на который вы указываете (загрузка на сервер/извлечение с сервера), может ли это быть достигнуто с помощью vanilla js?

2. Часть загрузки/загрузки, да. Современный способ-использовать функцию fetch() . Сама серверная часть, очевидно, должна быть сервером, который может быть написан на Node.js если вы хотите придерживаться JS (проверьте Express ) или любого другого языка.

3. Просто чтобы отметить, внес поправку, уточнив, что как СПА-услуги, так и варианты хранения будут влиять только на клиента. Только загрузка на сервер позволит использовать его совместно.

4. Привет, чувак, извини, но не мог бы ты мне еще чем-нибудь помочь? Много смотрел, но, кажется, не могу понять, с чего начать. Уже существует база данных MySQL с некоторыми таблицами. Теперь посмотрим на поток; когда пользователь создал «вещь» и нажал «загрузить», Мне нужно отправить вещь (со всеми компонентами, например, названием, описанием и т. Д.) В базу данных (чего я могу достичь с помощью vanilla js (?)), И после загрузки в базу данных я могу снова получить ее только с помощью vanilla js и поместить ее в сетку, которая будет заполняться больше, когда пользователь создаст больше «вещей». Как бы все это было улажено? Каким должен быть правильный путь?

5. Я изучаю js и прохожу некоторые курсы, так что я вроде как новичок. Особенно когда дело доходит до бэкенда