我一直在尝试所有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个小时的查找和尝试),以便在提交弹出页面后以编程方式刷新主页面。该网站使用php
和MySQL
数据库后端
抱歉,部分代码被省略了。
我想我没有解释,这里是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事件时强制刷新第一个窗口。这在我见过的任何地方都没有得到解答,这就是我要问的原因。由于下拉列表不是由程序代码填充或填充,因此它与提供的答案不同。感谢您之前的答案,但我不知道它们是如何应用的
答案 0 :(得分:0)
您可以尝试从子窗口更改父窗口,例如,您的父窗口包含以下代码:
function repopulateCourses() {
// add new dropdown options
}
在子窗口中,您打开的新窗口可以执行以下操作
window.onbeforeunload = function(e) {
window.opener.repopulateCourses();
};