这是我的情景。我有一个'Master Page(Course_Maintenance.php)',上面有2个div。第一个是从Course_Maintenace.php上的代码填充的。第二个div使用以下内容填充:
$(document).ready(function() {
$("select[id='SelectCourse']").change(function() {
var link = 'CourseTeeInfo.php?CourseID='+$(this).val();
$('#CourseTeeInfo').load(link);
})
});
CourseTeeInfo.php页面有一个填充和完美的表单。我在该页面上使用了一个临时系统:
// Get stage of form
if(!isset($_POST['btn_submit']) || !$_POST['btn_submit']) { $stage=0; }
if(isset($_POST['btn_submit']) && $_POST['btn_submit'] == 'submit') { $stage=1; }
因此,一旦填写并验证了表单,我使用javascript更改btn_submit的值以返回到使用PHP写入MySQL数据库的表单:
function ValidateForm() {
if(!noErrors2()) { alert("You must fix errors on page before submitting"); }
document.getElementById('btn_submit').value = "submit";
document.TeeInfo.submit();
}
目前我有阶段2只是将$ _POST变量回显到屏幕上。如果我直接调用CourseTeeInfo.php,这一切都有效。但是,当我在Course_Maintenace上的div中单击窗体上的Update按钮(触发ValidateForm()javascript)时,div会刷新到空白屏幕而不是$ _POST变量显示(因为它直接运行)。
有关如何在父(Course_Maintenace.php)窗口中正确刷新div的任何见解将不胜感激。如果直接调用,我只是希望div的工作方式与表单完全相同。我的目标是在我成功写入记录(在$ stage = 1中)后,我将表格(再次)重新加载到$ stage = 0,然后将获得新的/更新的信息。
提前感谢您的帮助。
答案 0 :(得分:0)
我略微改变了方法并使用jQuery AJAX调用写入MySQL数据库(而不是重新加载表单)。写完记录后,我只是使用jQuery .load函数刷新div。