[英]Alert textbox is empty when checkbox is checked
这可能有点令人困惑,但请多多包涵。 我需要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>
在这种情况下,您可以使用文本区域作为地址:
<textarea id="delivery-address"></textarea>
然后,您将使用JavaScript通过以下方式获取其内容:
var deliveryAddress = document.getElementById("delivery-address").value.trim();
要检查他们是否输入了地址,您可以使用:
if (deliveryAddress === "") { ... }
在大多数情况下,地址会分为几个输入,通常是街道地址的两行,城市,州和邮政编码的输入。
警报显示如下:
alert('Some text');
您可以使用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
在你的onclick事件( onclick="copy(event)"
)。 您会在JSFiddle中看到它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.