I cannot reproduce your problem.
HTMLDocument doc = (HTMLDocument)itsNatDoc.getDocument();
Element inputElem = doc.createElement("input");
inputElem.setAttribute("type","text");
doc.getBody().appendChild(inputElem);
final ItsNatHTMLInputText comp = (ItsNatHTMLInputText)itsNatDoc.getItsNatComponentManager().createItsNatComponent(inputElem);
comp.setText("Initial Value");
comp.getDocument().addDocumentListener(new DocumentListener()
{
public void insertUpdate(DocumentEvent e)
{
String text = comp.getText();
System.out.println("insertUpdate " + text);
}
public void removeUpdate(DocumentEvent e)
{
String text = comp.getText();
System.out.println("removeUpdate " + text);
}
public void changedUpdate(DocumentEvent e)
{
String text = comp.getText();
System.out.println("changedUpdate " + text);
}
});
And executed in an EventListener request and it works fine in Chrome (changes in control are sent to the server).
Is different your case?
Can you paste the code snippet?
Be careful with your custom JS code, it can break the ItsNat "client-server contract".