【发布时间】:2012-11-19 18:01:34
【问题描述】:
我的 xpage 中有 dojo 验证文本框,所需属性计算(动态计算)如下
var syn = getComponent("SynCboxGrp").getValue();
if (syn == "Yes")
{return true;
}else{
return false;
}
这里的组件 SynCboxGrp 是单选按钮。根据单选按钮的值,文本框是必需的。但它不能正常工作。更改单选按钮值不会更改所需的行为。
感谢任何帮助
更新
感谢 stwissel、Per Henrik Lausten 和 Eric。 我在必需属性中只有这个 ssjs
<xe:djValidationTextBox id="UBOCAgent" value="#{dsRacDoc.UBOCAgent}" disableClientSideValidation="true">
<xe:this.required><![CDATA[#{javascript:var syn = getComponent("SynCboxGrp").getValue();
if (syn == "Yes")
{
return true;
}else{
return false;
}
}]]></xe:this.required>
</xe:djValidationTextBox>
我还在我的单选按钮 onclick 事件 XSP.partialRefreshGet("#{id:UBOCAgent}"); 上尝试了这个部分刷新代码
这仍然不会改变行为。它基于初始单选按钮值工作。不利的一面是,因为它是一个获取请求,它会从服务器更新字段内容。我还尝试了 Eric 的建议禁用客户端验证,但没有帮助。
Eric,我也在尝试尽可能使用 CSJS,但在这种情况下,所需的属性只有 SSJS 选项。所以不知道如何尝试 CSJS。我应该尝试创建自己的 dojo 字段而不是使用 entension lib 中的一个吗?如果是这样,我不确定如何计算所需的属性。如果您可以帮助我提供一些示例代码,那将是很大的帮助。 感谢您的宝贵时间。
【问题讨论】:
-
请提供更多代码,完整(非)工作示例。并且服务器端代码不会在客户端发生更改时执行。
-
您是否将单选按钮设置为对文本框进行部分刷新(以便重新计算所需的属性)?正如 Stephan 所写,请添加更多代码,以便更轻松地回答您的问题
-
感谢 stwissel,Per Henrik Lausten。
标签: xpages xpages-extlib