GWT の htmlflow を使用して、動的テキスト ボックスをコードに追加しました。ここで、テキスト ボックスから値を取得したいと考えました。以下は、助けになるコードです。Rootpanel.get(elementID) を使用する。要素の値を次のように取得できます
O/p :
<input id="value1" 80px;="" border:="" 0px;="" border-bottom:="" 4px="" solid="" #3366ff;'="" type="textstyle='width:">
これから、テキストボックスに入力した値を取得するにはどうすればよいですか?
String alertText = "If pressure > ? and glucoselevel > ? ";
String newAlertText = alertText.replace("?", "");
numberOfPlaceHolder = alertText.length() - newAlertText.length();
System.out.println("Num of Place holder :"+numberOfPlaceHolder);
String[] alertblock = alertText.split("\\?");
StringBuffer alertHtml = new StringBuffer();
for(int i=1; i<=numberOfPlaceHolder;i++){
String textbox = "<input id='value"+i+"' type=textstyle='width: 80px; border: 0px; border-bottom: 4px solid #3366FF;' />";
String textblock = alertblock[i-1];
alertHtml.append(textblock);
alertHtml.append(textbox);
}
String alertTextHtml = "<div>"+alertHtml.toString()+"</div>";
htmlFlow = new HTMLFlow(alertTextHtml);
alertTextLay.addMember(htmlFlow);
IButton saveAlertBtn = new IButton();
saveAlertBtn.setTitle("Save Alert");
saveAlertBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
LinkedHashMap<String, String> alertValueMap = new LinkedHashMap<String, String>();
for(int i=1; i<=numberOfPlaceHolder;i++){
System.out.println(**RootPanel.get("value"+i));**
//System.out.println(DOM.getElementById("value"+i).getInnerText().toString());
}
}
});