#javascript #html
#javascript #HTML
Вопрос:
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;
Ответ №1:
Попробуйте обновить 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;
Комментарии:
1. найден используемый вами
getElementsByName
probelm, который возвращает коллекцию getElementsByName . Изменив его наgetElementByName
code will work, обновил ответ.2. также вы можете использовать
document.getElementsByName("CheckDelivery")[0]
which вернет первый элемент с именемCheckDelivery
3. Большое вам спасибо, это сработало! но я не думаю, что <getElementByName> является функцией, поскольку она выдает ошибку
4. К сожалению, опечатка, должно быть
getElementById
вместоgetElementByName
.