Javascript ,当填充数到十进制 10 时如何返回 false?



Javascript,当填充数字到10个十进制时如何返回false?

这是我填写手机号码的代码。我尝试设置必须return false当用户将数字填充到输入==10 个小数但不起作用时,我该怎么办?

<p style="margin-bottom: 20px;">
<input name="mobile_number" onKeyUp="check_mobile_number_length(this.value)" type="number" class="feedback-input" id="mobile_number" onchange="updateInput_mobile_number(this.value)">
<span id="mySpan_mobile_number" style=" float: left; margin-left: 12px; ^margin-left: 0px; font-size: 12px; color: red;"></span>
</p>
<script>
function check_mobile_number_length(mobile_number_value){
	var mobile_number_value = mobile_number_value.replace(/[^0-9,.]+/g, "");
	document.getElementById("mobile_number").value = mobile_number_value;
	var mobile_number_value = document.getElementById("mobile_number").value;
	
	if(mobile_number_value.length==10) 
	{
		document.getElementById("mobile_number").style.border = "1px solid rgba(72,72,72,0.4)";
		document.getElementById("mySpan_mobile_number").innerHTML = "";
		return false;
	}
	else
	{
		document.getElementById("mobile_number").style.border = "1px solid red";
		document.getElementById("mySpan_mobile_number").innerHTML = "please enter mobile number for 10 decimal";
	}
}
</script>

释放用户的密钥时,字符已经键入。因此,您不能为此使用onkeyup。在这里,我使用了onkeypress,它在按下键时触发。

此外,虽然return false直接内联时工作,但这里最好直接拒绝事件,方法是将事件传递给函数,然后对其调用.preventDefault()。这可以防止事件发生后的默认操作(即onkeypress阻止按下键,onclick阻止单击等(。

在这里,我创建了一个如何做到这一点的基本示例。希望您可以对其进行调整以满足您的需求:

function check_mobile_value(ele, ev) {
if (ele.value.length>=10) {
ev.preventDefault();
}
}
<input type="number" onkeypress="check_mobile_value(this, event)">

最新更新