启用/禁用用户输入确定复选框

时间:2018-05-22 15:51:07

标签: javascript

我有一个简单的表格,用户输入他的联系电话。如果联系电话号码以07开头,则启用该复选框,我需要将其禁用。

我已经编写了一些代码,但我遇到的问题是当用户键入01然后它被禁用但是如果他们继续在01之后添加任何其他数字则复选框变为启用状态。



function deselectcheckbox(wildvalue) {
  if (document.getElementById("1").value == "01") {
   $("#checkbox").attr("disabled", true);
   document.getElementById("divText").innerHTML = "Not able to send";
  }
  else
   {
   $("#checkbox").attr("disabled", false);
   document.getElementById("divText").innerHTML = "Send text";
  }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
<tr>
 <td>Contact Number</td>
 <td><input type="text" id="1" name="1" onkeyup="deselectcheckbox(this.value)"></td>
</tr>
<tr>
 <td><label><div id="divText">Send text</div></label></td>
 <td><input type="checkbox" name="contact" id="checkbox" value=""></td>
</tr>
</table>
&#13;
&#13;
&#13;

我尝试过添加通配符

(document.getElementById("1").value == "01*")

但它没有用,请帮忙

2 个答案:

答案 0 :(得分:5)

如果您只想在内容以“07”开头时启用复选框,则可以先检查该内容并在else块内禁用。

  if (document.getElementById("1").value.startsWith("07")) {
    $("#checkbox").attr("disabled", false);
    document.getElementById("divText").innerHTML = "Send text";
  }
  else
  {
    $("#checkbox").attr("disabled", true);
    document.getElementById("divText").innerHTML = "Not able to send";
  }

答案 1 :(得分:-2)

将您的if语句更改为:

if(!String(document.getElementById("1").value).startsWith("07")) {...}