从弹出页面添加值后重新加载下拉列表

时间:2015-03-15 19:26:23

标签: javascript php mysql

我一直在尝试所有Javascript选项来重新加载dropdown。我有一个主页面,我有7个MySQL填充下拉列表,我有一个链接打开一个带有java函数的新弹出窗口,如下所示:

function OpenWindowCourse() {
    window.open('Script/NewCourse.php', 'newwindow', config = 'height=150,width=370, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no');
    return true;
}

我用这个打开一个带有表单的页面,将新值上传到课程表,全部正常工作,当我提交表单弹出窗口关闭,并返回主页面时,这个问题是课程下拉需要重新填充增值,我必须按f5或刷新页面以查看下拉列表中的新值。我已经尝试了我找到的每个答案(2个小时的查找和尝试),以便在提交弹出页面后以编程方式刷新主页面。该网站使用phpMySQL数据库后端

编写

抱歉,部分代码被省略了。 我想我没有解释,这里是main / start页面上的代码,它填充了一个带有链接的php页面,使用java脚本打开弹出的第二个php页面,它是一个动态填充的下拉列表,因为数据是从包含填充下拉列表的PHP数据脚本中提取。请参阅: echo "<select name='CourseIDdd' id='ddCourseID' style='width: 250px !important; max-width: 350px;'>\n"; $resultout4 = get_course_rows();//call to data fuction php page, MySQL data while ($row = mysql_fetch_row($resultout4)) { if ($row[0] == $CourseID) { echo "<option value='" . $row[0] . "' selected='selected'>" . $row[1] . "</option>\n"; } else { echo "<option value='" . $row[0] . "'>" . $row[1] . "</option>\n"; } }//while echo "</select>"; echo '<a target="popup" onclick="OpenWindowModalCourse()">new</a>';
这是打开弹出菜单窗口的java调用,允许用户将项添加到填充下拉列表的表中。
function OpenWindowModalCourse() { window.open('Script/NewCourse.php', 'newwindow', config = 'height=150,width=370, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no'); return true; }

我的问题是,当NewCourse.php关闭时,我需要刷新第一页,因为NewCourse.php页面已经更改了数据。因此,用户必须按f5或刷新才能看到新添加的课程表值。必须有一种方法可以在Newcourse页面上处理post事件时强制刷新第一个窗口。这在我见过的任何地方都没有得到解答,这就是我要问的原因。由于下拉列表不是由程序代码填充或填充,因此它与提供的答案不同。感谢您之前的答案,但我不知道它们是如何应用的

1 个答案:

答案 0 :(得分:0)

您可以尝试从子窗口更改父窗口,例如,您的父窗口包含以下代码:

function repopulateCourses() {
    // add new dropdown options
}

在子窗口中,您打开的新窗口可以执行以下操作

window.onbeforeunload = function(e) {
    window.opener.repopulateCourses();
};