在我的页面上,我目前有一个选择表单和附加的提交按钮,该按钮是根据我的数据库中的条目动态生成的。这是我输出的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仍然会引发我的循环。
当用户点击&#34;提交时,&#34;我想要一个弹出菜单出现,我想根据单独的php文件的内容更新数据库。之后,一旦他们关闭弹出窗口,我想刷新页面的特定区域。我正在使用codeigniter,所以我通过它加载我的模型函数来填充页面。
我很乐意提供更多的代码,但老实说,它是如此混乱而且毫无价值,相反我认为我会更多地要求一个健康的指导方针,以便我必须做些什么来实现这样的事情。
示例会令人惊讶,但我只是试图围绕我实际需要做的事情来完成这项工作。
答案 0 :(得分:0)
以下是我认为您正在尝试与执行这些步骤的信息一起完成的步骤。请澄清我是否理解不正确......
点击提交按钮后......
执行改变数据库的php文件
要做到这一点,既然你正在使用jQuery,你可以使用数据库更新所需的适当参数对你的PHP文件进行ajax调用。
有关jQuery,PHP和mysql的示例,请参阅Using JQuery AJAX and php to fetch data from a mysql database。另请参阅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();