使用JavaScript中的“id”将文本从一个字段复制到另一个字段

时间:2018-03-09 04:52:15

标签: javascript html

如果选中此复选框,我必须在帐单名称和zip中复制送货名称和zip,如果未选中复选框,则保留帐单名称和zip为空。

以下是我的JavaScript代码:

function billingFunction(){
  if(document.getElementById('same').checked==true){
    document.getElementById("billingName").value = document.getElementById("shippingName").value;
    document.getElementById("billingZip").value = document.getElementById("shippingZip").value;
  }
  else{
    document.getElementById("billingZip").value = '';
    document.getElementById("billingName").value = '';
  }
}    

same是复选框的ID。

这段代码有什么问题?我不能使用jQuery,我必须使用id属性来访问HTML。

2 个答案:

答案 0 :(得分:0)

你的javascript看起来不错,所以让我假设问题在于你如何触发billingFunction()函数。

我建议这样做:

//use your same billingFunction
function billingFunction(){
    ...
}
/*
Once the document is ready, attach an event listener to the checkbox
which fires the function when the checkbox is changed
*/
window.onload = function() {
    document.getElementById('same').addEventListener('change', billingFunction);
}

在将eventListener附加到您的复选框之前,这将使页面变为红色。当复选框值更改(选中/取消选中)时,它会触发billingFunction。

答案 1 :(得分:0)

您的代码是正确的。只需单击复选框即可调用billingFunction()。



function billingFunction(){
  
  if(document.getElementById('same').checked==true){
    document.getElementById("billingName").value = document.getElementById("shippingName").value;
    document.getElementById("billingZip").value = document.getElementById("shippingZip").value;
  }
  else{
    document.getElementById("billingZip").value = '';
    document.getElementById("billingName").value = '';
  }
}    

shippingName: <input type='text' id='shippingName' /><br />
shippingZip: <input type='text' id='shippingZip' /><br />
<br />
Copy Same? <input type="checkbox" id='same' onclick='billingFunction()'/>I have a car 
<br /><br />
billingName: <input type='text' id='billingName' /><br />
billingZip: <input type='text' id='billingZip' /><br />
&#13;
&#13;
&#13;