2016-10-15 185 views
0

這可能有點令人困惑,但請耐心等待。 我需要2個文本框和1個複選框。 當複選框被選中時,它需要檢查文本框是否被填充。 如果填入文本框,它將不會執行任何操作。複選框被選中時,提醒文本框爲空

我真的很苦惱,所以我會很感激。 如果你不明白我所說的話,那麼這是我需要解決的問題。

*在頁面順序.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

在這種情況下,你的代碼可以使用textarea的的地址:

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

那麼你可以使用JavaScript來獲取它的內容與:

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

要檢查他們是否輸入了廣告禮服,你可以使用:

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

在大多數情況下,該地址將被分解成幾個輸入端,經常兩行的街道地址,城市,州和郵編的輸入。

警報顯示,像這樣:

alert('Some text'); 
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) {...}),並在你的onclick事件(onclick="copy(event)")通過event。你會在JSFiddle中看到這些。

相關問題