首页 > 解决方案 > 动态使用 DOMFormControlElement 设置值

问题描述

我将 JxBrowser 与 Java 程序一起使用,该程序执行 index.html 文件作为 GUI 来输入和显示值。

我想使用以下代码从我的 java 应用程序中动态更新一个 HTML 表单:

browser.addLoadListener(new LoadAdapter() {
   @Override
   public void onFinishLoadingFrame(FinishLoadingEvent event) {
      if (event.isMainFrame()) {
        DOMDocument document = event.getBrowser().getDocument();
        DOMFormControlElement element = 
                    (DOMFormControlElement) document.findElement(By.id("textArea"));
        DOMFormControlElement textArea = (DOMFormControlElement) element;
        DOMEventType.OnChange;  
        if (!MessagefromCSM.equals("CSM request pending")) {
            textArea.setValue(MessagefromCSM);
        }
     }
   }
});     

这在启动时完美运行,来自 MessagefromCSM 的字符串值正确显示,但保持静态。无论如何可以随意更新 textArea 吗?

感谢您的任何提示,

奥利维尔

标签: javascriptjavajxbrowser

解决方案


你好,终于解决了……

  final DOMDocument document = browser.getDocument();
  ((DOMFormControlElement) document.findElement(By.id("textArea"))).setValue(MessagefromCSM);

在适当的地方调用

我现在可以关闭它了,奥利维尔


推荐阅读