从表单结果调用javascript函数
所以我有一个html页面(实际上是用php生成的),它将生成一个包含表单的弹出窗口。我所有的javascript内容都在一个单独的javascript文件中。我想知道是否可以从我的javascript文件中以resulttext的形式调用函数 这是第一个html页面从表单结果调用javascript函数,javascript,html,Javascript,Html,所以我有一个html页面(实际上是用php生成的),它将生成一个包含表单的弹出窗口。我所有的javascript内容都在一个单独的javascript文件中。我想知道是否可以从我的javascript文件中以resulttext的形式调用函数 这是第一个html页面 <script type="text/javascript" src="x.js"></script><h1>hello</h1> <div id='form'> <
<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>
我不想用onclick调用函数,我想从表单的结果文本调用它。makewindows做什么?
您可能希望将该html放在模板或某种类型的单独文件中。
是的,您可以从表单事件,即onsubmit事件调用javascript。makewindows做什么?
您可能希望将该html放在模板或某种类型的单独文件中。
是的,您可以从表单事件即onsubmit事件调用javascript。是的,您可以。您只需按名称调用它,就像在html文件本身中定义的任何函数一样。是的,您可以。您只需按名称调用它,就像您在html文件本身中定义的任何函数一样。如果我正确理解了您的问题,您正在尝试更新弹出窗口中的一些信息,并将更新的信息反映在打开弹出窗口的页面中
我想可能会对您有所帮助。如果我正确理解了您的问题,您正在尝试更新弹出窗口中的一些信息,并将更新后的信息反映在打开弹出窗口的页面中
我想可能会对您有所帮助。您想访问在同一页面中声明的Javascript函数,该页面使用在打开的窗口中运行的window.open脚本打开窗口 这就是你要找的 例如,如果有一个函数在
x.js
中定义为function foobar
(并且x.js
包含在主窗口中),则可以从process.php
返回如下内容作为响应:
<script type="text/javascript">
window.opener.foobar('returned text');
window.close();
</script>
您想访问在同一页面中声明的Javascript函数,该页面使用在打开的窗口中运行的脚本window.open打开窗口 这就是你要找的 例如,如果有一个函数在
x.js
中定义为function foobar
(并且x.js
包含在主窗口中),则可以从process.php
返回如下内容作为响应:
<script type="text/javascript">
window.opener.foobar('returned text');
window.close();
</script>
托比亚斯是对的
但是,如果没有opener属性,主窗口和目标窗口就无法通信——没有联系
这篇过时的文章说明了onclick的一种解决方案,尽管它有目标。
也许和你一起玩会很有趣。
然而,今天最好是使用侦听器和与之相关的函数来实现这一点。
我会在“makewindows”函数中明确定义开瓶器,
以及定义窗口
家长:
像这样:
var child1 = null;
function makewindows(html)
{
if (!child1 || child1.closed) {
child1 = window.open(...);
...//rest of original code
} else {
child1.focus();
/* in case it's okay to simply open the same window
for another upload; otherwise, nix this section*/
}
if (child1.opener == null) {
child1.opener = self;
}
}
儿童:
假设x.js有一个名为“childListener”的函数:
php可以提供一个自动执行的JavaScript
函数添加到“子”页,如:
var talkToParent = function(saywhat)
{
opener = opener || self.opener || window.opener;
if (opener != null && saywhat) {
opener.childListener(saywhat);
}
}($uploaded_filename);
这将立即执行(当然是从脚本标记中),只要上传的文件名被传递。如果您将php设置为传递错误,而不是文件名,那么您实际上可以在上传时向家长发出错误警报。同样,这假设“childListener”函数在x.js或从开场白页面调用的其他脚本中。Tobias是正确的
但是,如果没有opener属性,主窗口和目标窗口就无法通信——没有联系
这篇过时的文章说明了onclick的一种解决方案,尽管它有目标。
也许和你一起玩会很有趣。
然而,今天最好是使用侦听器和与之相关的函数来实现这一点。
我会在“makewindows”函数中明确定义开瓶器,
以及定义窗口
家长:
像这样:
var child1 = null;
function makewindows(html)
{
if (!child1 || child1.closed) {
child1 = window.open(...);
...//rest of original code
} else {
child1.focus();
/* in case it's okay to simply open the same window
for another upload; otherwise, nix this section*/
}
if (child1.opener == null) {
child1.opener = self;
}
}
儿童:
假设x.js有一个名为“childListener”的函数:
php可以提供一个自动执行的JavaScript
函数添加到“子”页,如:
var talkToParent = function(saywhat)
{
opener = opener || self.opener || window.opener;
if (opener != null && saywhat) {
opener.childListener(saywhat);
}
}($uploaded_filename);
这将立即执行(当然是从脚本标记中),只要上传的文件名被传递。如果您将php设置为传递错误,而不是文件名,那么您实际上可以在上传时向家长发出错误警报。同样,这假设“childListener”函数是在x.js或从opener页面调用的其他脚本中调用的。我不想从onclick调用它,我想从表单的结果调用它。Makewinows只是创建一个弹出窗口。我不想从onclick调用它,我想从表单的结果调用它。Makewinows只是创建一个弹出窗口。该链接描述了完全不同的事情。当显示表单的结果文本时,我只希望执行一个函数。没有花哨的更新,没有ajax对象……这个链接描述了完全不同的事情。当显示表单的结果文本时,我只希望执行一个函数。没有花哨的更新,没有ajax对象…我不知道如何调用javascript函数,除非它带有onclick或附加到某个东西上…只要把它放在一个标记中。如果你的意思是你想在提交表单时调用它,你可以使用它,然后在用户提交表单时调用它(例如,单击submit或点击enter)我不知道如何调用javascript函数,除非它带有onclick或附加到某个东西上……只要将它放在标记中即可。如果您的意思是希望在提交表单时调用它,则可以使用,然后在用户提交表单时调用它(例如,单击submit或单击enter)。父窗口中未定义该函数,但是在一个相互的javascript文件中。这是否意味着我可以使用javascript src=…,并调用blah()?不,就浏览器而言,没有javascript文件,当您使用标记链接到.js文件时,将导入该文件中的所有代码,并从HTML页面中执行。你公司