一个例子:
getAppletContext().showDocument(
new URL("javascript:alert(document.getElementById('textbox').value);"
));
我不想提醒这个文本框值,而是想在我的小程序程序中进一步使用这个值作为字符串变量。我怎样才能做到这一点?
不同方法的多种想法。这里有一些:
将输入字段放在 Applet 中。<input>
您可以通过在 Applet 中添加 AWT 组件(或者,JApplet
使用更新的 Swing 工具包)来获取 Applet 的输入,而不是向 HTML 页面添加-tag。虽然应该首选 Swing。
当然,如果您不能更改小程序代码,这不是一个选项。
使用<param>
- 标记。您可以通过使用<param>
-tag 中的-tag 为您的小程序提供一些初始值(例如参数),如tag-doc<applet>
中的此示例所示:
<applet code="A21" width="256" height="256" archive="toir.jar">
<param name="img" value="test.gif">
</applet>
但是,正如我所说,这些是初始值。如果您在 applet 已经运行时更改它们,它们不会在 Applet 本身中更改。
因此,如果您的<input>
-tag 中的值是初始值,您可以使用它(并value
使用 JS 操作 -attribute)。如果您想在小程序运行时更改这些值,这仅在您重新启动小程序时才有效(这可能不是最好的主意)。
使用“Java 到 Javascript 通信”。有一个文件介绍了JSObject
-class。可以在这里找到。还有“通用 DOM API”,可用于访问 HTML 页面的 DOM 结构。这听起来像你正在寻找的东西,但它似乎有点过时了。
另外,这似乎不是标准(就像<applet>
-tag 一样),因此,某些浏览器可能没有或没有完全实现对它的支持。你必须尝试一下。
// provide a JS function to return the value of textbox
// call it to get the value..
String userInput = JOptionPane.showInputDialog(this, value, ..