Как ввести меню и отобразить данные без сохранения в базе данных?

#javascript #php #jquery #ajax #codeigniter

#javascript #php #jquery #ajax #codeigniter

Вопрос:

изображение формы

Здесь у меня есть меню ввода формы и количество (желтая линия на рисунке). Когда я отправляю, что данные отображаются в таблице (красная строка на рис.), но не сохраняются в базе данных (только показывать). Тогда у меня есть кнопка сохранения внизу (еще не на картинке, потому что она обрезана), в которой будут сохранены данные, которые мы ввели ранее (которые отображаются в таблице).

Как мне получить ввод из меню, который будет отображаться только в таблице, но позже (после нажатия кнопки сохранить данные) будет передан в базу данных?

Я использую CodeIgniter, AJAX и jQuery.

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

1. Разве у вас нет какого-нибудь кода, который соответствует этой картинке?

2. Я думаю, вам следует использовать HTML5 sessionStorage, который сохранит ваши данные в памяти браузера. Таким образом, вы можете получить доступ и отобразить данные в таблице. И всякий раз, когда вы захотите опубликовать его на сервере, он будет легко доступен.

3. w3schools.com/html/html5_webstorage.asp

Ответ №1:

Вы можете использовать jquery для отображения содержимого поля ввода в таблице, вот пример https://jsfiddle.net/y2vmqL06 /.

 $("input").on('keyup change', function(){
  if($(this).val() != ""){
    $("#container").text($(this).val());
  }else{
    $("#container").text("");
  }
});
 

При отправке вы можете использовать php для выполнения обычных операций с базой данных

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

1. да, так, но я буду вводить и показывать большую часть данных, например, я ввожу имя и возраст (имя: Джейсон, возраст: 22), затем отправляю (показать в таблице). а затем я пытаюсь ввести другое имя и возраст (имя: Даниэль, возраст: 18) и отправить (показать в таблице без удаления предыдущих данных), чтобы позже результат был таким: Джейсон 22 Даниэль 18 и будет продолжать расти при вводе новых данных

2. Вы можете использовать js / jquery для добавления нового элемента без удаления предыдущего, проверьте этот код jsfiddle.net/y2vmqL06/3

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

4. Та же логика может быть использована для создания контейнера, когда в одном из полей ввода есть данные, и может уничтожить его, если все поля пусты, проверьте этот код jsfiddle.net/y2vmqL06/4

Ответ №2:

Вы должны использовать несколько форм.

После нажатия кнопки отправки в первой форме передайте свои значения во вторую форму и отобразите их, а во второй форме после нажатия кнопки сохранения передайте их для сохранения в базе данных.

Это похоже на процедуру, упомянутую в коде, показанном ниже:

 <html>
   <form action="yourfilepath.php" method="post">
       <input type="text" name="first_value">
       <input type="text" name="second_value">
       <input type="submit" value="Submit">
   </form>
   <form action="savedbfile.php" method="post">
       <input type="text" name="fst_value" value=" <?php 
        if(isset($_POST["first_value"]))
            echo  $_POST["first_value"]); 
        ?> " >
       <input type="text" name="sec_value" value=" <?php 
        if(isset($_POST["second_value"]))
            echo  $_POST["second_value"]); 
        ?> " >
       <input type="submit" value="save">
   </form>
</html>
 

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

1. да, так, но я буду вводить и показывать большую часть данных, например, я ввожу имя и возраст (имя: Джейсон, возраст: 22), затем отправляю (показать в таблице). а затем я пытаюсь ввести другое имя и возраст (имя: Даниэль, возраст: 18) и отправить (показать в таблице без удаления предыдущих данных), чтобы позже результат был таким: Джейсон 22 Даниэль 18 и будет продолжать расти при вводе новых данных

Ответ №3:

Сначала добавьте данные во временную таблицу. И после нажатия кнопки сохранить вы можете перемещать данные из временной таблицы в постоянную таблицу.