Кнопка "Отправить" -> запустить.php -> всплывающее окно -> обновить часть страницы php
На моей странице в настоящее время у меня есть форма выбора и прикрепленная кнопка отправки, которая генерируется динамически на основе записей в моей базе данных. Вот мой выведенный HTML
<div id="structures">
<h1>Build</h1>
<form name="buildForm" id="buildForm" method="POST" onsubmit="buildForm();return false;">
<select name="buildID" class="buildClass">
<option value="0" selected="selected" data-skip="1">Build a Structure</option>
<option name='Town Center' value='1' data-icon='../img/structures/tc.png' data-html-text='Town Center<i>
500 minutes<br>50000 gold</i>'>Town Center</option>
<option name='Barracks' value='2' data-icon='../img/structures/barracks.png' data-html-text='Barracks<i>
25 minutes<br>1500 gold</i>'>Barracks</option>
<option name='Dragon Roost' value='3' data-icon='../img/structures/droost.png' data-html-text='Dragon Roost<i>
200 minutes<br>5000 gold</i>'>Dragon Roost</option>
<option name='Mage Hall' value='4' data-icon='../img/structures/mage.png' data-html-text='Mage Hall<i>
40 minutes<br>300 gold</i>'>Mage Hall</option>
<option name='Test Lab' value='6' data-icon='../img/structures/testlab.png' data-html-text='Test Lab<i>
1 minutes<br>10 gold</i>'>Test Lab</option>
</select>
<div id="buildSubmit">
<input class="button" type="submit" value="Submit"/>
</div>
</form>
</div>
Несмотря на то, что я наконец-то совершенствуюсь с PHP/mySQL и html/css, javascript по-прежнему бросает меня в тупик.
Когда пользователь нажимает "отправить", я хочу, чтобы появилось всплывающее меню, и я хочу обновить базу данных на основе содержимого отдельного файла php. После того, как они закрываются, я хочу обновить определенную область страницы. Я использую codeigniter, поэтому я загружаю свои модели, чтобы заполнить страницу.
Я хотел бы добавить больше кода, хотя, честно говоря, он такой беспорядок и совершенно бесполезный, что вместо этого я подумал, что буду просить больше здорового руководства о том, что мне нужно сделать, чтобы реализовать что-то подобное.
Примеры были бы потрясающими, но я просто пытаюсь обернуть голову вокруг того, что мне действительно нужно сделать, чтобы сделать эту работу.
1 ответ
Вот шаги, которые, я думаю, вы пытаетесь выполнить вместе с информацией для выполнения этих шагов. Пожалуйста, уточните, если я не правильно понимаю...
После нажатия кнопки отправки...
Выполнить файл php, который изменяет БД
Для этого, поскольку вы используете jQuery, вы можете сделать ajax-вызов вашего PHP-файла с соответствующими параметрами, необходимыми для обновления БД.
Для примера совместного использования jQuery, PHP и mysql см. Использование JQuery AJAX и php для извлечения данных из базы данных mysql. Также смотрите документацию по jQuery: jQuery.ajax
Всплывающее окно для подтверждения изменения (с использованием JavaScript)
var answer = confirm("Do you want to change this?")
if (answer){
// Possibly call another PHP ajax script to commit database changes...
}
else{
// Rollback database changes and do some other processing...
}
Чтобы перезагрузить страницу (используя JavaScript)
window.location.reload();