通过 getComponent 在 compositeData 上获取值
Getting value via getComponent on compositeData
在保存期间对输入字段进行检查,如果值存在则应该通过。输入字段值作为复合数据存在,但检查一直失败。
验证或获取输入字段值的最佳方法是什么?
我尝试使用 getComponent 函数获取此值。
<xp:inputText id="fieldname" value="#{compositeData.dataSource.fieldname}">
<xp:this.attrs>
<xp:attr name="placeHolder" value="type here"></xp:attr>
</xp:this.attrs>
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="inputTextContainer" execId="fieldname">
<xp:this.action><![CDATA[#{javascript:try {
var vVal = getComponent("fieldname").getValue();
viewScope.put("fieldNameScope", vVal);
print("vVal: " + vVal);
}catch(e) {
print("Fieldname error: " + e.toString());
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:inputText>
//var field = getComponent("fieldname").getSubmittedValue(); //returns null.
var field = viewScope.fieldNameScope; //getComponent("fieldname").getValue(); //returns nothing.
if(field == "" || field == null){
vContinue = false;
viewScope.MessageType = "Error";
viewScope.MessageText = "Please field is empty";
return context.redirectToPage( "home.xsp" );
}else{
vContinue = true;
}
如果字段中存在值,我希望检查通过,但实际结果为空。
我将值存储到视图范围中,然后调用视图范围而不是使用 getComponent。我将使用 onchange 事件处理程序更新我的问题。
在保存期间对输入字段进行检查,如果值存在则应该通过。输入字段值作为复合数据存在,但检查一直失败。 验证或获取输入字段值的最佳方法是什么?
我尝试使用 getComponent 函数获取此值。
<xp:inputText id="fieldname" value="#{compositeData.dataSource.fieldname}">
<xp:this.attrs>
<xp:attr name="placeHolder" value="type here"></xp:attr>
</xp:this.attrs>
<xp:eventHandler event="onchange" submit="true" refreshMode="partial" refreshId="inputTextContainer" execId="fieldname">
<xp:this.action><![CDATA[#{javascript:try {
var vVal = getComponent("fieldname").getValue();
viewScope.put("fieldNameScope", vVal);
print("vVal: " + vVal);
}catch(e) {
print("Fieldname error: " + e.toString());
}
}]]></xp:this.action>
</xp:eventHandler>
</xp:inputText>
//var field = getComponent("fieldname").getSubmittedValue(); //returns null.
var field = viewScope.fieldNameScope; //getComponent("fieldname").getValue(); //returns nothing.
if(field == "" || field == null){
vContinue = false;
viewScope.MessageType = "Error";
viewScope.MessageText = "Please field is empty";
return context.redirectToPage( "home.xsp" );
}else{
vContinue = true;
}
如果字段中存在值,我希望检查通过,但实际结果为空。
我将值存储到视图范围中,然后调用视图范围而不是使用 getComponent。我将使用 onchange 事件处理程序更新我的问题。