【发布时间】:2014-05-02 23:14:01
【问题描述】:
这是我的场景。我有一个“母版页(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 中单击表单上的更新按钮(触发 ValidateForm() javascript)时 - div 刷新为空白屏幕,而不是 $_POST 变量显示(因为它直接运行)。
任何有关如何在父 (Course_Maintenace.php) 窗口中正确刷新 div 的见解将不胜感激。如果直接调用,我只是希望 div 的工作方式与表单的工作方式完全相同。我的目标是,在我成功写入记录(在 $stage=1 中)后,我将(再次)重新加载表单回 $stage=0,然后它将具有新的/更新的信息。
提前感谢您的帮助。
【问题讨论】:
-
如果我理解正确,我认为您需要的是 AJAX 方法,这样您就可以调用 PHP 并将结果回显到 div 而不刷新页面或空白页面。
标签: javascript php jquery