选中复选框后,警报文本框为空

时间:2016-10-15 02:39:54

标签: javascript html checkbox textbox

这可能有点令人困惑,但请耐心等待。 我需要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>

2 个答案:

答案 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.
}

JSFiddle

修改:忘记提及使用e.preventDefault(),您需要更改您的函数以接受e参数(function copy(e) {...})并传递event in您的onclick事件(onclick="copy(event)")。你会在JSFiddle中看到那些。