2010-03-05 5 views
0
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? если return BO, мне нужно сериализовать BO и создать элементы для построения дерева dom. это беспокоит, поэтому любая идея использовать шаблон в GWT?Почему element.getElementsByTagName() не может выбрать динамически добавленный узел?

ответ

0

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

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^