ID,例如我的“无效的联系电话”,以显示文本字段为空还是不包含11位数字(如果文本字段包含内容)
HTML:
<label id="number_label">
<b>Contact Number</b>
</label>
<input type="text" placeholder="Contact Number" class="form-control" id="contact" name="contact">
Javascript:
var contact = document.getElementById("contact").value;
if (!contact || (contact.val().length >=12 || contact.val().length <=10) ) {
document.getElementById("number_label").innerHTML = "<span style='color: red;'>Invalid contact number (must contain 11 digits)</span>";
} else {
document.getElementById("number_label").innerHTML = "Contact Number";
}
我在if语句中的“ number_label” ID应该更改文本并显示错误。
最佳答案
没用
您在.val()
(a contact
)上调用String
不好。 .val()
是一个jQuery方法,用于在元素本身上调用。
表单仅加载“无效的联系电话”,然后重新加载页面,使其返回到开头
如果您试图限制表单的发布,请确保函数中应限制表单的任何路径均带有return false
。
var label = document.getElementById("number_label");
function validate() {
var contact = document.getElementById("contact").value;
if (!contact || contact.length !== 11) {
label.innerHTML = "<span style='color: red;'>Invalid contact number (must contain 11 digits)</span>";
return false;
} else {
label.innerHTML = "<b>Contact Number</b>";
}
}
<label id="number_label">
<b>Contact Number</b>
</label>
<input type="text" placeholder="Contact Number" class="form-control" id="contact" name="contact">
<button onclick="validate()">Validate</button>