gpt4 book ai didi

javascript - 如何从子窗口访问父窗口中的div

转载 作者:行者123 更新时间:2023-12-02 16:10:11 33 4
gpt4 key购买 nike

我的父窗口中有一个 div,我想在其中显示我添加到数据库中的新输入记录。

这是在父窗口内:

<div id="divTable"></div>

此按钮位于子窗口内:

<input type="button" name="submit" value="Submit" onclick="updateTable();"/>

这是在我的外部 javascript 文件中:

function updateTable()
{
if(insertThis()==true)
{
alert("Your details have been entered! Please click on 'View' to display all records.");
}
//What should I put here?
}//updateTable(w, h)

在同一个 javascript 文件中,我有另一个函数,它仅使用 ajax 显示表格(在另一个按钮的父窗口中):

function displayTable()
{
var page = "database.php"
var parameters = 'action=update';
var xmlhttp = new XMLHttpRequest();

if(xmlhttp==null)
{
alert("Your browser does not support AJAX!");
return false;
}
xmlhttp.onreadystatechange=function()
{
document.getElementById("divTable").innerHTML=xmlhttp.responseText;
};
xmlhttp.open("GET", page+"?"+parameters, true);
xmlhttp.send(null);
}//displayTable()

我有另一个 PHP 文件,但它只处理将查询插入数据库。

在子窗口中,我有文本字段和单选按钮等,需要根据数据库进行输入。

那么我应该在 updateTable() 函数中放入什么?我应该将 displayTable() 函数放在那里吗?我尝试过 widnows.opener 但它似乎不起作用。我在网上研究了其他示例,但它们不处理外部 javascript 文件,所以我有点困惑(或者它与我也不太确定无关)。

我想要的结果是,在用户输入所需内容并单击“提交”按钮后,我希望该表立即显示在父窗口中。目前我正在使用父窗口中的另一个按钮来显示表格。我想这样做是因为如果用户先查看表然后输入新数据,则在用户退出后用户必须单击按钮才能再次查看表。 (表格显示在div)有什么解决方案吗?

注意:在我的 displayTable() 函数中,我有 document.getElementById("divTable").innerHTML=xmlhttp.responseText; 所以我不确定是否我应该重用这个函数。

附注我更喜欢原始的 javascript 解决方案,因为我是新手并且仍在学习,所以我还没有接触过 jQuery 的任何内容。

最佳答案

您可以尝试通过再次运行 displayTable(); 函数来重建表格:

    function updateTable()
{
if(insertThis()==true)
{
alert("Your details have been entered! Please click on 'View' to display all records.");
//Indeed you'd better put it here:
window.opener.displayTable();
}
//What should I put here?

}//updateTable(w, h)

另一个建议是:在您的父页面更改正文标记,如下所示:

 <body onload="displayTable()">

并在子页面的脚本中重新加载该页面:

function updateTable()
{
if(insertThis()==true)
{
alert("Your details have been entered! Please click on 'View' to display all records.");
//Indeed you'd better put it here:
//window.opener.displayTable();
window.opener.location.reload();
}
//What should I put here?

}//updateTable(w, h)

关于javascript - 如何从子窗口访问父窗口中的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295674/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com