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>

08-18 21:47