如何通过 `onfocusout(number_entered_by_user)` 事件在 Javascript 中传递 `number_entered_by_user`
How do I pass the `number_entered_by_user` in a Javascript through `onfocusout(number_entered_by_user)` event
如何在 Javascript through onfocusout(number_entered_by_user)
事件中传递 number_entered_by_user
?
相当新的 Javascript 和 DOM 操作。已在此站点上搜索但无法找到相关答案。
我有一个 <input>
标签如下:
<input type="number" id="txt_qu_12" onkeydown="return checkKeycode(event);" class="elementid" placeholder="" min="" max="">
我正在尝试按如下方式更改 <input>
标记的验证:
<input type="number" id="txt_qu_12" onfocusout="myFunction(number_entered_by_user)" class="elementid" placeholder="" min="" max="">
在 onfocusout
事件期间,用户输入将被传递到 myFunction()
函数 User Input Validation
。
其中 myFunction(number_entered_by_user)
定义为:
<script>
<!--
function myFunction(event)
{
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if((phoneno.value.match(phoneno_templete))
{
return true;
}
else
{
alert("Enter proper PHONE NUMBER");
return false;
}
}
// -->
</script>
我的问题是如何将 number_entered_by_user
通过 onfocusout
事件传递给函数 function myFunction(number_entered_by_user)
欢迎任何建议和指点。提前致谢。
更新:1
根据@randomguy04 反问,我 objective 是:
正确的用户输入:
//No action, simply continue
用户输入错误:
生成警报为:
alert("Enter proper PHONE NUMBER");
这是我的脚本:
<script>
function myFunction(event)
{
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if((phoneno.value.match(phoneno_templete))
{
return true;
}
else
{
alert("Enter proper PHONE NUMBER");
return false;
}
}
</script>
更新 2
初始 <input>
标签:
<input type="number" id="txt_qu_12" onkeydown="return checkKeycode(event);" class="elementid" placeholder="" min="" max="">
更改为:
第一次尝试:
<script>
<!--
function myFunction(event){
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if(!phoneno.match(phoneno_templete)){
alert("Enter proper PHONE NUMBER");
}
}
-->
</script>
<input type="number" id="txt_qu_12" class="elementid" placeholder="" min="" max="" onfocusout="myFunction(event)">
第二次尝试:
<script>
<!--
function myFunction(event){
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if(!phoneno.match(phoneno_templete)){
alert("Enter proper PHONE NUMBER");
}
}
// -->
</script>
但是当我使用无效输入(11 位数字)跳出时仍然没有显示 Alert
,如下所示:
@randomguy04 解决方案似乎很完美,但不确定我哪里做错了。
请问有什么建议吗?
您可以使用 onfocusout 函数上的 event
访问输入的值
首先调用函数并在 html:
中传递事件变量
<input type="number" id="txt_qu_12" onfocusout="myFunction(event)"/>
并且您的函数现在应该可以访问 event.target
,这是触发事件的元素,在您的情况下,它将是 ID 为 txt_qu_12
的输入
现在您可以访问 javascript 中的输入值,例如:
function myFunction(event){
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if(!phoneno.match(phoneno_templete)){
alert("Enter proper PHONE NUMBER"); //this will happen if the phone number is not 10 digits in length
}
}
如何在 Javascript through onfocusout(number_entered_by_user)
事件中传递 number_entered_by_user
?
相当新的 Javascript 和 DOM 操作。已在此站点上搜索但无法找到相关答案。
我有一个 <input>
标签如下:
<input type="number" id="txt_qu_12" onkeydown="return checkKeycode(event);" class="elementid" placeholder="" min="" max="">
我正在尝试按如下方式更改 <input>
标记的验证:
<input type="number" id="txt_qu_12" onfocusout="myFunction(number_entered_by_user)" class="elementid" placeholder="" min="" max="">
在 onfocusout
事件期间,用户输入将被传递到 myFunction()
函数 User Input Validation
。
其中 myFunction(number_entered_by_user)
定义为:
<script>
<!--
function myFunction(event)
{
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if((phoneno.value.match(phoneno_templete))
{
return true;
}
else
{
alert("Enter proper PHONE NUMBER");
return false;
}
}
// -->
</script>
我的问题是如何将 number_entered_by_user
通过 onfocusout
事件传递给函数 function myFunction(number_entered_by_user)
欢迎任何建议和指点。提前致谢。
更新:1
根据@randomguy04 反问,我 objective 是:
正确的用户输入:
//No action, simply continue
用户输入错误:
生成警报为:
alert("Enter proper PHONE NUMBER");
这是我的脚本:
<script>
function myFunction(event)
{
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if((phoneno.value.match(phoneno_templete))
{
return true;
}
else
{
alert("Enter proper PHONE NUMBER");
return false;
}
}
</script>
更新 2
初始 <input>
标签:
<input type="number" id="txt_qu_12" onkeydown="return checkKeycode(event);" class="elementid" placeholder="" min="" max="">
更改为:
第一次尝试:
<script> <!-- function myFunction(event){ var phoneno = event.target.value; var phoneno_templete = /^\d{10}$/; if(!phoneno.match(phoneno_templete)){ alert("Enter proper PHONE NUMBER"); } } --> </script> <input type="number" id="txt_qu_12" class="elementid" placeholder="" min="" max="" onfocusout="myFunction(event)">
第二次尝试:
<script> <!-- function myFunction(event){ var phoneno = event.target.value; var phoneno_templete = /^\d{10}$/; if(!phoneno.match(phoneno_templete)){ alert("Enter proper PHONE NUMBER"); } } // --> </script>
但是当我使用无效输入(11 位数字)跳出时仍然没有显示 Alert
,如下所示:
@randomguy04 解决方案似乎很完美,但不确定我哪里做错了。 请问有什么建议吗?
您可以使用 onfocusout 函数上的 event
访问输入的值
首先调用函数并在 html:
中传递事件变量<input type="number" id="txt_qu_12" onfocusout="myFunction(event)"/>
并且您的函数现在应该可以访问 event.target
,这是触发事件的元素,在您的情况下,它将是 ID 为 txt_qu_12
现在您可以访问 javascript 中的输入值,例如:
function myFunction(event){
var phoneno = event.target.value;
var phoneno_templete = /^\d{10}$/;
if(!phoneno.match(phoneno_templete)){
alert("Enter proper PHONE NUMBER"); //this will happen if the phone number is not 10 digits in length
}
}