在jQuery中未检测到输入

时间:2013-08-20 04:18:59

标签: php jquery ajax

这不会触发代码,我不知道为什么。我已经尝试了.change.on('input'),我能找到的一切。问题很简单。有什么问题?

$(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>

2 个答案:

答案 0 :(得分:2)

检查此样本。我刚从.show()调用中删除了“fast”参数。

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

从那些到电话,请告诉我是否能解决您的问题。

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

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

答案 1 :(得分:1)

不是100%确定你的问题是什么,你的代码中缺少一些HTML。

但是,你的js中有一个错误,你需要用引号快速包围。

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

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

这至少会让你的警报显示出来。