Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在focus out上运行javascript函数_Javascript_Jquery_Html - Fatal编程技术网

在focus out上运行javascript函数

在focus out上运行javascript函数,javascript,jquery,html,Javascript,Jquery,Html,我有一个javascript函数: function testCreditCard () { myCardNo = document.getElementById('ccnumber').value; myCardType = document.getElementById('ccType').value; if (checkCreditCard (myCardNo,myCardType)) { alert ("Credit card has a

我有一个javascript函数:

    function testCreditCard () {
    myCardNo = document.getElementById('ccnumber').value;
    myCardType = document.getElementById('ccType').value;
    if (checkCreditCard (myCardNo,myCardType)) {
        alert ("Credit card has a valid format")
    } 
    else {
        alert (ccErrors[ccErrorNo])
        };
    }
和一个输入字段

脚本函数是使用onclick函数触发的

<button type="post" id="btn_c" name="btn_c" onclick="testCreditCard();" >Click</button>
点击
在填充输入字段后,是否仍可以在focus out/上触发函数

我是javascript/jquery新手。请为我推荐一个解决方案。谢谢

试过这个

<input type="text" id="ccnumber" />
<script> //Script for testCreditCard </script>
    <script>$("#ccnumber").on("change", testCreditCard);</script>
    <script>
    function testCreditCard () {
      myCardNo = document.getElementById('ccnumber').value;
      myCardType = document.getElementById('ccType').value;
      if (checkCreditCard (myCardNo,myCardType)) {
      } 
      else {alert (ccErrors[ccErrorNo])};
    }
    </script>

</body>

//测试信用卡的脚本
美元(“#ccnumber”)。在(“更改”,测试信用卡);
功能测试信用卡(){
myCardNo=document.getElementById('ccnumber')。值;
myCardType=document.getElementById('ccType')。值;
if(检查信用卡(myCardNo,myCardType)){
} 
else{alert(ccErrors[ccErrorNo]);
}

但是不起作用。

绑定到
更改
模糊
事件

$("#ccnumber").on("change", testCreditCard);

为什么不尝试调用输入文本的onblur属性

    <input type="text" onblur="testCreditCard()" id="id" name="id" />

当焦点在文本之外时,js函数被激活

我为我的英语道歉你可以做的

 <input type="text" id="ccnumber" onblur ="testCreditCard()" />

与已经发布的答案略有不同,但想法相同

$(document).ready(function() {

$(document).on("blur", "#ccnumber", function() {
       testCreditCard(); 
});

function testCreditCard () {
      myCardNo = document.getElementById('ccnumber').value;
      myCardType = document.getElementById('ccType').value;
      if (checkCreditCard (myCardNo,myCardType)) {
      } 
      else {alert (ccErrors[ccErrorNo])};
}
}

听起来你真的在寻找更改事件?当元素失去焦点时,模糊事件将触发。请取消我的问题,更新,我尝试了这个,但似乎不起作用。请帮助什么不起作用?控制台中的错误是什么?您不必将每件事都包装在脚本块中。@CSharper控制台中出现错误,没有错误。但是警报不会出现。我将创建一个小提琴并进行更新。您实际使用的是jQuery吗?您是否确实将事件的值更改为激发?如果没有,则需要使用
blur
。。。
$(document).ready(function() {

$(document).on("blur", "#ccnumber", function() {
       testCreditCard(); 
});

function testCreditCard () {
      myCardNo = document.getElementById('ccnumber').value;
      myCardType = document.getElementById('ccType').value;
      if (checkCreditCard (myCardNo,myCardType)) {
      } 
      else {alert (ccErrors[ccErrorNo])};
}
}