我正在尝试使用单选按钮构建一个表单计算javascript,但我还没有能够使用复选框。
该表单包含域名whois检查,该域名生成名为'域' 的复选框,值为已检查域名< tld,其价格在相同的表格单元格。我设法将一个与已检查值匹配的js代码与包含tld价格的数组中的数据相匹配。 (见下文)
问题#1 :复选框的值应该是整个域名(这样我以后可以随身携带带有$ _POST的变量
问题#2 :当前正在运行的js不会添加更多相同tld的域名(foo.com和bar.com的价格仅在两次输入后添加) for 循环适用于单选按钮不能用于多次检查
-
我考虑过的解决方案:
解决方案#1 :向复选框添加ID,其名称为搜索域,其值为该域tld的价格,并将其推送到 for 循环的js对象中可以匹配已检查的价格 - 与问题#1冲突,虽然我想我可以使用jQuery获取所有选中的复选框,并将它们附加到PHP可以稍后处理的隐藏输入(?)..
解决方案#2 :让js从其所在的表格单元格中获取该域名的价格并将其添加。 - 问题:如果表格单元格的ID取决于搜索的域名,我如何让js得到价格?
这里是当前正在处理的js,它只处理复选框:
var domaintld = new Array();
domaintld["com"]=3000;
domaintld["eu"]=3650;
domaintld["org"]=3650;
domaintld["net"]=2850;
domaintld["info"]=4050;
function calcdomaintldPrice() {
var domaintldPrice=0;
var theForm = document.forms["orderform"];
var chosenDomains = theForm.elements["domain"];
for(var i=0; i < chosenDomains.length; i++) {
if(chosenDomains[i].checked) {
domaintldPrice = domaintld[chosenDomains[i].value];
break;
}
}
return domaintldPrice;
}
以下是复选框标记的示例:
<input type="checkbox" name="domain" value="net" id="dfbdfb.net" class="domainradio"
onclick="calculateTotal()"><label for="dfbdfb.net" class="domainradio"> </label>
答案 0 :(得分:0)
广告问题1:您可能希望提供更多信息,例如html的生成方式。据我所知,您可以将value
设置为与id
无法相提并论吗?
广告问题2:
替代
domaintldPrice = domaintld[chosenDomains[i].value];
与
domaintldPrice += domaintld[chosenDomains[i].value];
并删除break