#javascript #php #jquery #ajax #codeigniter
#javascript #php #jquery #ajax #codeigniter
Вопрос:
Здесь у меня есть меню ввода формы и количество (желтая линия на рисунке). Когда я отправляю, что данные отображаются в таблице (красная строка на рис.), но не сохраняются в базе данных (только показывать). Тогда у меня есть кнопка сохранения внизу (еще не на картинке, потому что она обрезана), в которой будут сохранены данные, которые мы ввели ранее (которые отображаются в таблице).
Как мне получить ввод из меню, который будет отображаться только в таблице, но позже (после нажатия кнопки сохранить данные) будет передан в базу данных?
Я использую CodeIgniter, AJAX и jQuery.
Комментарии:
1. Разве у вас нет какого-нибудь кода, который соответствует этой картинке?
2. Я думаю, вам следует использовать HTML5 sessionStorage, который сохранит ваши данные в памяти браузера. Таким образом, вы можете получить доступ и отобразить данные в таблице. И всякий раз, когда вы захотите опубликовать его на сервере, он будет легко доступен.
Ответ №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:
Сначала добавьте данные во временную таблицу. И после нажатия кнопки сохранить вы можете перемещать данные из временной таблицы в постоянную таблицу.