在javascript标签中使用onclick功能

时间:2013-04-04 18:39:28

标签: javascript html

我有一个函数openWindow(word),当单击一个按钮时会调用它。此功能打开一个新窗口,打印单词并显示一个名为do的按钮。 openWindow函数一直有效,直到其标签中的onclick应该找到do函数。我的问题是onclick似乎永远不会找到我的功能。我该怎么办?

我的功能:

 function do() {
   alert("Life is what you make of it");
 }

我的openWindow功能:

 function openWindow(word) {
      myWindow.document.write(word);
      myWindow.document.write('<body>'); 
      myWindow.document.write('<input type="button" value="Do" onclick="do()">');
      myWindow.document.write('</body>');
     }      
  }

我打开窗口的html代码:

<body>
   <input type="button" value="Submit" onclick="openWindow()">
</body>

3 个答案:

答案 0 :(得分:1)

新弹出窗口中不存在

do()。我建议使用这种方法:

myWindow.document.write('<body>'); 
myWindow.document.write('<input type="button" value="Do" onclick="do()">');
myWindow.document.write('</body>');

// Define "Do" in the context of the new window
// Note: I have changed "do" to "Do" because "do" is a reserved word in JS
myWindow.Do = Do;

这是a working fiddle(确保不阻止弹出窗口)。

答案 1 :(得分:0)

do函数不是您创建的新窗口的一部分,因此无法找到它。

您需要通过链接的JavaScript文件或内联来包含它。

答案 2 :(得分:0)

您的新窗口没有函数定义,无法在调用“do()”时知道该怎么做。

如果您只想要一个带按钮的提醒:

myWindow.document.write('<input type="button" value="Do" onclick="alert('Life is what you make of it')";

否则,詹姆斯希尔还有很长的路要走。