gpt4 book ai didi

javascript - 从表单结果调用 javascript 函数

转载 作者:行者123 更新时间:2023-11-28 03:01:06 25 4
gpt4 key购买 nike

所以我有一个 html 页面(实际上是用 php 生成的),它将创建一个包含表单的弹出窗口。我所有的 javascript 内容都在一个单独的 javascript 文件中。我想知道是否可以从表单 resulttext 调用我的 javascript 文件中的函数。

这是第一个 html 页面

<script type="text/javascript" src="x.js"></script><h1>hello</h1>
<div id='form'>
<a href='#' onclick="makewindows('<form action="process.php" method="post" enctype="multipart/form-data "><label for="file">Filename:</label><input type="file" name="file" id="file"/> <br /><input type="submit" name="submit" value="Submit" onclick="" /></form>'); return false;">
click here</a>
</div>

上传文件后,会生成显示文件名称的结果文本。在 x.js 中,我有一个函数可以更新原始窗口中的 div。那么我可以从普通的 html 页面调用它吗?

这是maewindows的代码

function makewindows(html){
child1 = window.open ("about:blank");
child1.document.write(html);
child1.document.close();
}

我不想用 onclick 调用该函数,我想从表单的结果文本中调用它。

最佳答案

您想要使用 window.open 从打开的窗口中运行的脚本访问在打开窗口的同一页面中声明的 Javascript 函数吗?

window.opener这就是您正在寻找的。

例如,如果您有一个在 x.js 中定义的函数如function foobar(s) (并且 x.js 包含在主窗口中),您可以返回类似以下内容作为 process.php 的响应:

<script type="text/javascript">
window.opener.foobar('returned text');
window.close();
</script>

并且字符串“returned text”被传回foobar功能。

它起作用的原因是任何用 function 定义的东西全局范围内的关键字会自动添加为当前 window 的属性目的。如果您的函数未在全局范围内定义,您可以强制它成为 window 的属性像这样:

window.foobar = function(s) { ... }

关于javascript - 从表单结果调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861339/

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