我拼凑了这些 javascript 函数来隐藏我的购物车地址表单上的送货地址字段,如果货物要送到帐单地址。函数切换由 .. 包裹的 html 的可见性
function getItem(id) {
var itm = false;
if(document.getElementById)
itm = document.getElementById(id);
else if(document.all)
itm = document.all[id];
else if(document.layers)
itm = document.layers[id];
return itm;
}
function showHideItem(id) {
itm = getItem(id);
if(!itm)
return false;
if(itm.style.display == 'none')
itm.style.display = '';
else
itm.style.display = 'none';
return false;
}
如果正在加载一个新的地址表单,它工作正常,我遇到的问题是如果他们提交表单时勾选了复选框,并且验证失败,表单重新加载并勾选了复选框,但不幸的是这些字段是可见的,所以现在删除复选框隐藏了领域!!
<tr><td class="white"><strong>Delivery Address</strong></td>
<td>Tick <input Type="checkbox" id="deliver_same" value="yes" onClick="showHideItem('delAddress')" />
If delivery address is billing address</td></tr>
<tbody id="delAddress">
<tr><td>Address line 1</td><td><input class="text" name="saddr1" value="" /></td></tr>
...
<tr><td>Post /Zip Code</td><td><input class="text" name="spostalcode" value="" /></td></tr>
</tbody>
我想我需要的是一个 onload 事件,如果在表单加载时勾选复选框,它会隐藏字段。刚写完,我可能会去,但没有信心。请不要提及 jquery,在项目的这一点上它不是一个选项。