在XPage上,如何在按下某个单选按钮时清除某些字段?
字段位于面板上。在该面板之外是一些单选按钮。在单选按钮的onChange
中,我通过viewScope
变量更改面板的render属性,并对面板进行部分刷新以使其消失。这有效。我只是想也能够删除字段,否则在用户提交时保存值!
答案 0 :(得分:11)
modifyField
简单操作的SSJS等价物是文档数据源的setValue
方法;例如:
currentDocument.setValue("fieldName", null);
如果有人告诉您,请拨打getComponent("someId").setValue(null)
...不要。乍一看,这也有效,但它效率低,易碎,并且当目标组件处于重复控制但事件组件在重复之外时不起作用。始终直接更新数据源...绑定到该数据源的任何组件都将自动获取您所做的任何更改。
答案 1 :(得分:1)
添加一个事件,该事件将修改onchange事件中的字段并刷新您要更改的区域。
<xp:modifyField
var="document1"
name="FIELDNAME"
value="">
</xp:modifyField>
答案 2 :(得分:0)
使用客户端onChange运行这些dojo中的任何一个,其中&lt; parentID &gt;是RadioButton或RadioGroup所在容器的id:
dojo.query("*[type=radio]:checked",dojo.byId(parentID)).forEach(function(node, index, nodelist){
node.checked=false;
});
dojo.query("*[type=checkbox]:checked",dojo.byId(parentID)).forEach(function(node, index, nodelist){
node.checked=false;
});
dojo.query("input",parentID).
forEach(function(node, index, nodelist){
node.value = "";
})
//reset(