gpt4 book ai didi

javascript - 仅使用 CSJS 获取单选按钮组值

转载 作者:行者123 更新时间:2023-12-02 17:29:26 24 4
gpt4 key购买 nike

我读过一篇similarly entitled article但它并没有真正提供客户端解决方案。

我有一个单选按钮组,用于确定其他内容是否可见或隐藏。我有代码可以在 xp:scriptBlock 中检索此 RBGroup 的值。

function getPTValue (bName) {
var pt=null;
for(var i=0; i<document.forms[0].elements.length; i++){
if(document.forms[0].elements[i].name=="#{id:PayType}" ){
if(document.forms[0].elements[i].checked == true){
pt=document.forms[0].elements[i].value;
break; //remove this if for check box groups and collect multiple values above instead
}
}
}
return pt
}

这是单选按钮组;

<xp:radioGroup
id="PayType"
value="#{FInvoiceDoc.PayType}"
defaultValue="Hourly"
style="color:rgb(0,0,0)">
<xp:selectItem itemLabel="Hourly" itemValue="Hourly"> </xp:selectItem>
<xp:selectItem itemLabel="Fixed" itemValue="Fixed"></xp:selectItem>
<xp:eventHandler event="onclick" submit="true" refreshMode="norefresh">
<xp:this.script><![CDATA[payTypeVis();]]></xp:this.script>
</xp:eventHandler>
</xp:radioGroup>

当文档处于编辑模式时,这非常有效,但是如果我以只读模式打开它,上面的例程将被执行,但不会返回单选按钮组的值。

在阅读模式下,它似乎将 payType 单选按钮组显示为准计算字段。没有按钮,只有值。我尝试使用 XSP.getElementById("#{id:payType}").innerHTML 检索它,我得到了该值,但周围有很多 HTML 标签。 (.value 不返回任何内容)

如何严格使用 CSJS 在读取模式下正确检索文档上的单选按钮组值?

最佳答案

该字段的值在读取模式下不会更改,因此要在读取模式下处理它,请使用脚本 block 控件设置一个 CSJS 变量并直接从绑定(bind)字段中提取。脚本 block 控件还允许您运行 SSJS/Java,因此:var invDocPayType = "#{javascript:FInvoiceDoc.PayType}";

设置渲染属性,使其仅显示文档是否处于读取模式,因此:if (view.isRenderingPhase()) !FInvoiceDoc.isEditable();

然后在 CSJS 中,检查该变量是否存在(即您处于读取模式),否则直接从单选按钮动态获取值。

关于javascript - 仅使用 CSJS 获取单选按钮组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23205373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com