javascript 如何使用jquery连续检查输入的值?

ubof19bj  于 2023-01-29  发布在  Java
关注(0)|答案(3)|浏览(123)

我有一个页面加载后为空的输入,如果用户突然在其中填入一个值,if条件中两个输入的值应该变为。
我的问题是,当我填充输入时,if条件的结果不会实时更改。
脚本:

$(document).ready(function(){
    var countTimerEmailName = setInterval(
            function ()
            {
            emailName();    
            }, 500);        
    function emailName(){

            if($('#emailCodeResult').val() != '' || $('#email').val() == ''){
                clearInterval(countTimerEmailName);
            }

            $.ajax({
            url:"view.php",
            type:"GET",
            data: { term : $('#email').val() },
            dataType:"JSON",
            success: function(result) {

            }

        });

    };
    });
sauutmhj

sauutmhj1#

更改时触发函数

$('#inputA, #inputB').change(function(){
  if($('#inputA').val() != '' || $('#inputB').val() == '') {
   alert("True");
  }else{
    alert("False");
  }
})
wn9m85ua

wn9m85ua2#

可以像这样使用keyup

$('#textboxID').on( 'keyup', function () {

//write your code here

});

对于触摸设备,如rzr siad keyup不会发生。你可以写一个函数,每隔一秒调用一次,比如1秒或其他时间,如下所示:

t1=window.setInterval(function(){foo()},1000);
function foo()
{
// write function definition here
}

如果您希望仅在用户完成该文本框并移动到下一个字段后检查值,请按照其他人的建议使用blur

xkftehaa

xkftehaa3#

var fieldcheck;

$(function(){

    $("#input").focus(function(){

        fieldcheck = setInterval(function(){
    
                var innerValue = $("#input").val();
    
                if(innerValue == ""){
    
                    //your code
                    
                } else {
    
                    //your code
                
                }

        }, 100);
    });

     $("#input").blur(function(){
                clearInterval(fieldcheck);        
            });
});

相关问题