2016-10-14 106 views
0

Html - 传递地址必须将输入的值赋予帐单地址。在JavaScript和HTML在不同的文件当单击复选框时,使用复选框将字段中输入的值显示到另一个字段

其他JS功能都工作正常,但它只是这一次似乎没有工作

<div class="textinput"> 
    <label for="deladdress">Delivery Address: </label> 
    <input id="deladdress" type="text" name="Delivery Address" /> 
</div> 
<div id="buttoncheckarea"> 
    <input id="CheckDelivery" type="checkbox" name="CheckDelivery"> 
    <label id="diff" for="CheckDelivery">Same as delivery address?</label> 
</div> 
<div class="textinput"> 
    <label for="postcode">Postcode: </label> 
    <input id="postcode" type="text" name="postcode" /> 
</div> 
<div class="textinput"> 
    <label for="billaddress">Billing Address: </label> 
    <input id="billaddress" type="text" name="Billing Address" /> 
</div> 

的JavaScript

function deliveryfunc() { 
    var delivery = document.getElementById("deladdress").value; 
    var billing = document.getElementById("billaddress").value; 
    //var checkbox = document.getElementById("CheckDelivery").checked; 
    if (document.getElementsByName("CheckDelivery").checked == true) {  
     billing = delivery; 
    } 
} 

function init() { 
    var order = document.getElementById("ordForm"); 
    order.onsubmit = ordervalidation; 
    order.onclick = radiobuttoncheck; 
    var checkbutton = document.getElementsByName("CheckDelivery"); 
    checkbutton.onclick = deliveryfunc; 
} 

window.onload = init; 

回答

0

尝试更新deliveryfunc如下:

function deliveryfunc() { 
    var delivery = document.getElementById("deladdress"); 
    var billing = document.getElementById("billaddress"); 
    if (document.getElementById("CheckDelivery").checked == true) {  
     billing.value = delivery.value; 
    } 
} 

function init() { 
    var order = document.getElementById("ordForm"); 
    order.onsubmit = ordervalidation; 
    order.onclick = radiobuttoncheck; 
    var checkbutton = document.getElementById("CheckDelivery"); 
    checkbutton.onclick = deliveryfunc; 
} 

window.onload = init; 
+0

我试过了,它仍然不适合我。 – Nate

+0

找到了问题,你正在使用'getElementsByName',它返回一个集合[getElementsByName](http://www.w3schools.com/jsref/met_doc_getelementsbyname.asp)。通过将其更改为'getElementByName',代码将起作用,更新答案。 – mergenchik

+0

也可以使用'document.getElementsByName(“CheckDelivery”)[0]'这将返回名为CheckDelivery的第一个元素 – mergenchik

相关问题