如果商品要转到帐单地址,我已将拼凑在一起的这些javascript函数隐藏了我的购物车地址表单上的投递地址字段。功能切换HTML通过包裹的可视性..使用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,它不是这个项目的一个选项。
为什么不隐藏style =“display”none“的服务器上的复选框,如果在将表单再次分发给用户之前进行检查? –
在您的函数中,您应该评估#deliver_same输入的”checked“值而不是只是切换点击。如果选中,隐藏,如果没有,做SHOW。http://stackoverflow.com/questions/7851868/whats-the-proper-value-for-a-checked-attribute-of-an- html-checkbox –
我会利用标签,他们为你做所有的工作 –