【问题标题】:Alert textbox is empty when checkbox is checked选中复选框时,警报文本框为空
【发布时间】:2016-10-15 11:19:16
【问题描述】:

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

【问题讨论】:

    标签: javascript html checkbox textbox


    【解决方案1】:

    在这种情况下,您可以使用 textarea 作为地址:

    <textarea id="delivery-address"></textarea>
    

    然后你会使用 JavaScript 来获取它的内容:

    var deliveryAddress = document.getElementById("delivery-address").value.trim();
    

    要检查他们是否输入了地址,您可以使用:

    if (deliveryAddress === "") { ... }
    

    在大多数情况下,地址会被分成几个输入,通常两行街道地址,一个输入城市、州和邮政编码。

    警报显示如下:

    alert('Some text');
    

    【讨论】:

      【解决方案2】:

      你可以使用 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) {...})并在您的onclick事件中传递event(@987654326 @)。您将在 JSFiddle 中看到这些内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-24
        • 2010-11-01
        • 2017-09-14
        • 2013-06-26
        • 2022-01-11
        • 1970-01-01
        • 2015-08-08
        相关资源
        最近更新 更多