我有一个动态表单,它有一个TextAreaItem,文本区域的值是从数据库中填充的。
我想创建Text Area Clickable和超链接的值,你能帮助我设置哪些事件处理程序和属性来获得所需的输出吗?
答案 0 :(得分:0)
我认为您需要使用LinkItem
而不是TextAreaItem
。 LinkItem
可用于显示可点击的超链接。您可以LinkItem
至" javascript" set the target ClickHandler
并添加表单项Forms - Various Controls以执行点击操作。
请参阅{{3}}示例。
答案 1 :(得分:0)
我也尝试过使用LinkItem但是如果你使链接可编辑(link.setCanEdit(true)
)那么你就失去了通过点击它来打开链接的能力。可能是因为点击处理程序现在用于编辑字段。您可能需要添加一些额外的机制来打开链接,例如添加按钮或其他内容。
这是一个例子:
private void urlForm() {
url = new LinkItem();
url.setShowTitle(false);
url.setCanEdit(true);
url.setValue("yourURL");
ButtonItem button = new ButtonItem("Go");
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Window.open(url.getLinkTitle(), "_blank", "");
}
});
urlForm = new DynamicForm();
urlForm.setNumCols(4);
urlForm.setFields(url, button);
}
另一种选择可能是添加新视图来编辑URL值,并将LinkItem保留为不可编辑,因此链接将在单击时打开。