【问题标题】:refresh div (populated by jquery) when form (inside div) is submitted提交表单(在 div 内)时刷新 div(由 jquery 填充)
【发布时间】: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


【解决方案1】:

我稍微改变了方法并使用 jQuery AJAX 调用来写入 MySQL 数据库(而不是重新加载表单)。写完记录后,我简单的用jQuery的.load函数刷新了div。

【讨论】:

    猜你喜欢
    • 2012-08-13
    • 2012-05-06
    • 1970-01-01
    • 2012-06-16
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    相关资源
    最近更新 更多