2013-08-20 175 views
0

这不会触发代码,我不知道为什么。我试过.change.on('input'),我能找到的所有东西。问题可能很简单。哪里不对?jQuery中未检测到输入

$(function() { 
    alert('hie'); 
    //the min chars for username 
    var min_chars = 3; 

    //result texts 
    var characters_error = 'Minimum amount of chars is 3'; 
    var checking_html = 'Checking...'; 

    //when button is clicked 
    $('#myusername').bind("change paste keyup", function() { 
     //run the character number check 
     if ($('#myusername').val().length < min_chars) { 
      //if it's bellow the minimum show characters_error text     
      $('#username_availability_result').html(characters_error); 
      $('#checkuser').show(fast); 
      alert('hsdi'); 
     } 
     else { 
      //else show the cheking_text and run the function to check 
      $('#username_availability_result').html(checking_html); 
      $('#checkuser').show(fast); 
      check_availability(); 
      alert('hi'); 
     } 
    }); 
}); 

//function to check username availability 
function check_availability() { 

    //get the username 
    var username = $('#myusername').val(); 
    //use ajax to run the check 
    $.post("../php/checkuser.php", {username: username}, 
    function(result) { 
     //if the result is 1 
     if (result == 1) { 
      //show that the username is available 
      $('#username_availability_result').html(username + ' is Available'); 
     } else { 
      //show that the username is NOT available 
      $('#username_availability_result').html(username + ' is not Available'); 
     } 
    }); 
} 

HTML

<tr> 
    <td>Username</td> 
    <td><input type="text" name="username" placeholder="Username" id="myusername"></td> 
</tr> 
<tr id="checkuser" style="display: none"> 
    <td> 

    </td> 
</tr> 
+0

什么是不工作... –

+0

在检测输入变化的JS输入#myusername引发其他代码检查分贝,如果用户名是有效的。没有警报弹出,但js文件正在发出第一个警报。 – user1552172

+0

投票关闭,因为有一个错字,这不太可能帮助未来的游客。 – FakeRainBrigand

回答

2

检查该样品。我刚从你的.show()调用中删除了“fast”参数。

http://jsfiddle.net/juaning/PsvS7/

从那些电话,让我知道这是否解决您的问题。

$('#checkuser').show(fast);alert('hsdi');

$('#checkuser').show(fast);

+1

是的,它的工作,但又是一个白痴哈哈。非常感谢你。 – user1552172

1

不是100%肯定你是什么问题,有一些失踪HTML与代码走。

但是,在您的js中存在错误,您需要快速包围引号。

$('#checkuser').show('fast'); 

$('#checkuser').show('fast'); 

这将至少让您的警报显示出来。