我有一个简单的表单,用户可以在其中输入他的联系电话。如果联系电话以 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>
我试过添加通配符
(document.getElementById("1").value == "01*")
但是还是不行,求助
最佳答案
如果您只想在内容以“07”开头时启用复选框,您可以先检查它并在 else block 内禁用。
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";
}
关于javascript - 启用/禁用由用户输入确定的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471839/