提交按钮 - >运行.php - >弹出窗口 - >刷新部分页面的PHP

时间:2012-03-02 19:14:02

标签: php javascript jquery ajax

在我的页面上,我目前有一个选择表单和附加的提交按钮,该按钮是根据我的数据库中的条目动态生成的。这是我输出的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,所以我通过它加载我的模型函数来填充页面。

我很乐意提供更多的代码,但老实说,它是如此混乱而且毫无价值,相反我认为我会更多地要求一个健康的指导方针,以便我必须做些什么来实现这样的事情。

示例会令人惊讶,但我只是试图围绕我实际需要做的事情来完成这项工作。

1 个答案:

答案 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();