harlequin516
30 Jun 2008, 1:16 AM
Can anyone please post an example of how to capture a value change in a text field. I have read through many posts (mostly js not gxt) about this, but I am still confused.
Is there an obvious flaw in my attempt here?
final TextField<String> tf = new TextField<String>() {
{
setFieldLabel("Username");
setEmptyText("Choose a Username");
setAllowBlank(false);
setMinLength(6);
super.setValue(p.getMyUsername());
addListener(Events.Blur, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
new FieldEventProcessor(fe) {
public void onChange(FieldEvent fe) {
p.setMyUsername((String)value);
saveProfile(p, new AsyncCallback<Profile>() {
FieldMessages fms = new FieldMessages();
public void onSuccess(Profile result) {
fms.setInvalidText("Saved OK");
setMessages(fms);
//clearAfterDelay(tf);
}
public void onFailure(Throwable caught) {
fms.setInvalidText("That username is not available.");
setMessages(fms);
}
});
}
};
}
});
}
};
What is the error of my ways?
-Sham
Is there an obvious flaw in my attempt here?
final TextField<String> tf = new TextField<String>() {
{
setFieldLabel("Username");
setEmptyText("Choose a Username");
setAllowBlank(false);
setMinLength(6);
super.setValue(p.getMyUsername());
addListener(Events.Blur, new Listener<FieldEvent>() {
public void handleEvent(FieldEvent fe) {
new FieldEventProcessor(fe) {
public void onChange(FieldEvent fe) {
p.setMyUsername((String)value);
saveProfile(p, new AsyncCallback<Profile>() {
FieldMessages fms = new FieldMessages();
public void onSuccess(Profile result) {
fms.setInvalidText("Saved OK");
setMessages(fms);
//clearAfterDelay(tf);
}
public void onFailure(Throwable caught) {
fms.setInvalidText("That username is not available.");
setMessages(fms);
}
});
}
};
}
});
}
};
What is the error of my ways?
-Sham