這裏的校驗值大約是我的代碼的一些信息:的JavaScript:輸入
HTML:
<input autocomplete="off" class="red" id="name" name="name" onclick="checkName(this);" onkeyup="checkName(this);" onblur="checkName(this);" placeholder="Name*">
<button type="submit" onClick="validateName();">SUBMIT YER WORK!</button>
CSS:
input.red:focus {
background: #E45F56 !important;
border: 1px solid #E45F56 !important;
}
input.false {
background: #E45F56 !important;
border: 1px solid #E45F56 !important;
}
input.true {
background: #4aaaa5 !important;
border: 1px solid #4aaaa5 !important;
}
JAVASCRIPT:
var status = 0;
var name = document.getElementById("name").value;
function checkName(name) {
if (!name) {
status = 0;
name.classList.remove("red");
name.classList.remove("true");
name.classList.add("false");
} else if (name) {
status = 1;
name.classList.remove("red");
name.classList.remove("false");
name.classList.add("true");
}
}
function validateName() {
if (status == 0) {
window.location = "#fail";
name.focus();
} else if (status == 1) {
window.location = "#submitted";
}
}
全想法是,如果你輸入t帽子輸入字段,你會得到一個直接的反饋,導致場變成紅色或綠色。如果您單擊該按鈕,將會打開一個彈出窗口。
此代碼的唯一問題是,每次點擊輸入字段時它都會變成綠色而不是紅色。這意味着另外,如果我點擊那個按鈕,「#submitted」 - popup會彈出,即使我沒有輸入任何內容。
這不是你問的,但我建議你改變'onclick =「checkName(this);''for'onfocus =」checkName(this);「',因爲使用onfocus時,即使用戶按Tab鍵進入文本框。 – lmcarreiro
沒有想過 - 謝謝! – jonhue