2

ボタンがクリックされたときに呼び出される関数 openWindow(word) があります。この関数は、新しいウィンドウを開き、単語を出力し、do というボタンを表示します。openWindow 関数は、そのタグの onclick が do 関数を見つけることになるまで機能します。私の問題は、onclick が do 関数を見つけられないように見えることです。私は何をしますか?

私の機能:

 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>
4

3 に答える 3

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;

これは機能するフィドルです(ポップアップがブロックされていないことを確認してください)。

于 2013-04-04T18:42:08.150 に答える
0

関数は、作成した新しいウィンドウのdo一部ではないため、見つかりません。

リンクされた JavaScript ファイルを介して、またはインラインで含める必要があります。

于 2013-04-04T18:41:38.507 に答える