我正在尝试构建一个可以与单选按钮一起正常工作的表单计算 javascript,但我无法使其与复选框一起使用。
该表单包括域 whois 检查,它生成名称为“域”的复选框,值是检查域的 tld,其价格在同一表格单元格中回显。我设法编写了一个 js 代码,该代码将检查的值与包含 tld 价格的数组中的数据相匹配。(见下文)
问题 #1:复选框的值应该是整个域名(这样我以后可以使用 $_POST 携带该变量
问题 #2:当前工作的 js 没有添加更多相同 tld 的域(foo.com 和 bar.com 的价格只添加一次,或者两次),因为适用于单选按钮的for循环不能与多个检查一起使用
--
我考虑过的解决方案:
解决方案#1:将 ID 添加到复选框,其名称是搜索的域,其值是该域 tld 的价格,并将它们推送到一个 js 对象中,其中for循环可以将选中的对象与其价格相匹配 - - 与问题 #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>