这可能有点令人困惑,但请耐心等待。 我需要2个文本框和1个复选框。 选中该复选框后,需要检查文本框是否已填满。 如果填写了文本框,则它将不执行任何操作。
我真的很挣扎,所以我真的很感激。 如果你不明白我说的话,这就是我需要解决的问题。
*在页面order.html中,创建一个标签“与送货地址相同”的复选框,位于相应字段附近的帐单地址。选中此复选框后,帐单邮寄地址字段将自动填写送达地址。如果选中此复选框后交货地址未完成,则显示提醒或内联消息:“请先输入您的送货地址”。 *
我已设法使用这些代码执行重复部分。(地址和邮政编码是分开的)
function copy() {
var daddress = document.getElementById("daddress");
var baddress = document.getElementById("baddress");
baddress.value = daddress.value;
var dpost = document.getElementById("dpost");
var bpost = document.getElementById("bpost");
bpost.value = dpost.value;
}
但在此之后我无法弄明白这一部分。
这是复选框的代码
<input id="duplicate" type="checkbox" name="duplicate"
value="Duplicate" onClick="copy();"/>Same as delivery address
<p id="dalert"><b><i>Please enter your delivery address first</i></b><p>
答案 0 :(得分:0)
在这种情况下,您可以使用 textarea 作为地址:
<textarea id="delivery-address"></textarea>
然后你将使用JavaScript来获取它的内容:
var deliveryAddress = document.getElementById("delivery-address").value.trim();
要检查他们是否输入了地址,您可以使用:
if (deliveryAddress === "") { ... }
在大多数情况下,地址会被分成几个输入,通常是街道地址的两行,城市,州和邮政编码的输入。
警告显示如下:
alert('Some text');
答案 1 :(得分:0)
在设置之前,您可以使用if语句检查是否有任何输入。
if (daddress.value && dpost.value) {
baddress.value = daddress.value;
bpost.value = dpost.value;
} else {
alert('Please enter your delivery address first!');
e.preventDefault(); // Stops checkbox from becoming checked.
}
修改:忘记提及使用e.preventDefault()
,您需要更改您的函数以接受e参数(function copy(e) {...}
)并传递event
in您的onclick事件(onclick="copy(event)"
)。你会在JSFiddle中看到那些。