我的电话号码验证不起作用,我不知道为什么。 当号码长度为9或10时,提交应该是活动的,在其他情况下应该禁用提交。这是代码
HTML正文:
var numertell = document.getElementById("numertel");
var numerlength = numertell.value.length;
if(numerlength==10 && numerlength==9)
document.getElementById("przycisk").disabled=false;
else
document.getElementById("przycisk").disabled=true;
JS
{{1}}
答案 0 :(得分:7)
在号码长度为9或10时,提交应该是有效的,在其他情况下 提交应该被禁用
你的问题就在这一行
if(numerlength==10 && numerlength==9)
将&&
替换为||
,因为numerlength
不能同时为9和10 。请查看此doc以了解有关逻辑运算符的更多信息。
if( numerlength== 10 || numerlength==9 )
修改强>
当文本框的值发生变化时,您需要调用上面的代码分享。我与 keyup 事件共享了一个示例。
<强>演示强>
document.getElementById("przycisk").disabled = true;
document.getElementById("numertel").addEventListener("keyup", function() {
var numerlength = this.value.length;
//console.log( numerlength );
if (numerlength == 10 || numerlength == 9)
document.getElementById("przycisk").disabled = false;
else
document.getElementById("przycisk").disabled = true;
});
&#13;
<input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false">
<input type="submit" value="Send" class="example" id="przycisk">
&#13;
答案 1 :(得分:0)
试试这个......
function check_value()
{
var numertell = document.getElementById("numertel");
var numerlength = numertell.value.length;
if(numerlength == 10 || numerlength ==9)
document.getElementById("przycisk").disabled=false;
else
document.getElementById("przycisk").disabled=true;
}
<body>
<input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="9000000000" aria-invalid="false" onblur = "check_value();">
<input type="submit" value="Send" class="example" id="przycisk">
<script src="script.js"></script>
</body>
答案 2 :(得分:0)
您还应该将该条件放在输入事件中,并在该事件中指定新的numertell值,如下所示:
var numertell = document.getElementById("numertel");
var numerlength = numertell.value.length;
if (numerlength === 10 || numerlength === 9)
document.getElementById("przycisk").disabled = false;
else
document.getElementById("przycisk").disabled = true;
numertell.addEventListener('input', function(evt) {
numerlength = numertell.value.length;
if (numerlength === 10 || numerlength === 9)
document.getElementById("przycisk").disabled = false;
else
document.getElementById("przycisk").disabled = true;
});
<body>
<input type="number" name="number-189" value="" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false">
<input type="submit" value="Send" class="example" id="przycisk">
<script src="script.js"></script>
</body>
答案 3 :(得分:0)
html&gt;&gt;&gt;
<body>
<input type="number" name="number-189" value="1234" class="example1" id="numertel" min="500000000" max="900000000" aria-invalid="false" onkeydown="myFunction()">
<input type="submit" value="Send" class="example" id="przycisk" >
<script src="script.js"></script>
</body>
javascript&gt;&gt;&gt;
$(document).ready(function(){
myFunction();
});
function myFunction() {
var numertell = document.getElementById("numertel");
var numerlength = numertell.value.length;
if(numerlength==10 || numerlength==9)
document.getElementById("przycisk").disabled=false;
else
document.getElementById("przycisk").disabled=true;
}
答案 4 :(得分:0)
请尝试
if(numerlength === 10 || numerlength === 9)
。
||
是Javascript中“OR”操作的运算符。另外,为了进行比较,应使用===
而不是==
。