我有一个5 x 5的复选框表,根据用户选择的成本进行计算(这有点复杂,但您会明白:o)。我想使用客户端JavaScript(这是一个非关键的内部XPages应用)进行计算,但似乎无法更新屏幕上的值。我创建了一个简单的形式,试图让JavaScript的工作 - 在这里就是我:客户端计算不起作用
,只是上有一个字段的表单 - >“计数”的型号
的用的XPage下面的代码:
<xp:this.resources>
<xp:script src="/jsTest.js" clientSide="true"></xp:script>
</xp:this.resources>
<xp:this.data>
<xp:dominoDocument var="document1" formName="x. Test"></xp:dominoDocument>
</xp:this.data>
<xp:panel style="padding-bottom:60.0px;padding-top:60.0px">
<div class="container">
<legend>Test</legend>
<div class="row">
<label class="col-md-4 control-label">Nachname</label>
<div class="col-md-8">
<xp:checkBox text="test checkbox" id="checkBox1">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script>
<xp:executeClientScript script="updateCount();"></xp:executeClientScript>
</xp:this.script>
</xp:eventHandler>
</xp:checkBox>
</div>
</div>
<div class="row"></div>
<div class="row">
<label class="col-md-4 control-label">Count</label>
<div class="col-md-8">
<xp:inputText id="inputText1" value="#{document1.count}" defaultValue="0">
<xp:this.converter>
<xp:convertNumber type="number"></xp:convertNumber>
</xp:this.converter>
</xp:inputText>
</div>
</div>
</div>
</xp:panel>
只需点击一个复选框,即可将一个复选框添加到计数字段中。
- 的JavaScript安装于复选框的代码:
function updateCount() {
\t
\t var currVal = XSP.getElementById("#{id:inputText1}").value;
\t XSP.getElementById("#{id:inputText1}").value = currVal + 1;
\t
}
当我点击复选框我得到以下错误:
TypeError:null不是一个对象(评估'XSP.getElementById(“#{id:inputText1}”)。'')
我假设JavaScript无法在DOM中找到项目inputText1?任何想法我做错了吗?先谢谢你!
我也尝试使用文档。而不是XSP。 - >同样的问题 –