Почему element.getElementsByTagName () не может выбрать динамически добавляемый узел? - PullRequest
0 голосов
/ 05 марта 2010
final Button sendButton = new Button("Send");
sendButton.getElement().setId("button");
RootPanel.get().getElement().appendChild(sendButton.getElement());

NodeList buttonElement = Document.get().getElementsByTagName("button");
if(buttonElement != null && buttonElement.getLength() > 0){
buttonElement.getItem(0).setNodeValue("Changed");
}else{
GWT.log("Can't select button");
}

когда я использую getElementById (), все в порядке, но метод getElementsbyTagName () не работает. это означает, что я не могу заставить службу RPC возвращать ответ html-строки и прикреплять событие на клиенте. Я немного запутался здесь, как программировать в GWT? Я имею в виду, что сервис RPC должен вернуть клиенту, BO? если вернуть BO, мне нужно сериализовать BO и создать элементы для построения дерева dom. это беспокоит, так что есть идея использовать шаблон в GWT?

1 Ответ

0 голосов
/ 05 марта 2010

Я не уверен, почему вы все делаете с использованием элементов или зачем вам вообще нужно искать кнопку, если у вас все еще есть ссылка на нее.Ваш код может быть переписан как:

final Button sendButton = new Button("Send");
RootPanel.get().add(sendButton);

// presumably some RPC is done here...?
onSuccess() {
  sendButton.setText("Changed");
}

Это может быть полезно, если вы дадите больше подробностей о том, что вы пытаетесь достичь.Кроме того, что такое BO?

...