次のように、ページにサーバー側の HTML 要素がいくつかあるとします。
<div id="cblDomain" runat="server">
<input runat="server" id="cblDomain_com" value="10" onchange="subsumDomain()" type="checkbox" name="cblDomain" checked="checked"><label for="cblDomain_com">com - 10</label><br>
<input runat="server" id="cblDomain_net" value="10" onchange="subsumDomain()" type="checkbox" name="cblDomain"><label for="cblDomain_net">net - 10</label><br>
<input runat="server" id="cblDomain_info" value="5" onchange="subsumDomain()" type="checkbox" name="cblDomain"><label for="cblDomain_info">info - 5</label><br>
<input runat="server" id="cblDomain_me" value="10" onchange="subsumDomain()" type="checkbox" name="cblDomain"><label for="cblDomain_me">me - 10</label>
</div>
<select runat="server" name="ddlDomainPeriod" onchange="subsumDomain()" id="ddlDomainPeriod">
<option value="1">1 yr</option>
<option value="2">2 yrs</option>
<option value="3">3 yrs</option>
<option value="4">4 yrs</option>
<option value="5">5 yrs</option>
</select>
<div name="sum" id="sumDomain">10</div>
Domains & Year で計算を行い、結果を SUM (div) で表示したい。
JavaScript はrunat="server"
属性がないので問題なく動作していましたが、動作していません。
そして、これがrunat
s を追加する前に使用した (動作する) JavaScript です:
<script type="text/javascript">
function subsumDomain() {
var _sum = 0;
var _cblDomain = document.getElementsByName('cblDomain');
for (i = 0; i < _cblDomain.length; i++) {
if (_cblDomain[i].checked == true)
_sum += Number(_cblDomain[i].value);
}
var _domainPeriod = Number(document.getElementById('ddlDomainPeriod').options[document.getElementById('ddlDomainPeriod').selectedIndex].value);
document.getElementById('sumDomain').innerHTML = moneyConvert(_sum * _domainPeriod);
}
</script>
現在、コードは私にとって複雑であり、修正して正しい答えを得る方法がわかりません。
どんな親切な助けも大歓迎です。