Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从表单结果调用javascript函数_Javascript_Html - Fatal编程技术网

从表单结果调用javascript函数

从表单结果调用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'> <

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

这是第一个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>
我不想用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页面中执行。你公司