【问题标题】:check username exists using ajax使用ajax检查用户名是否存在
【发布时间】:2016-10-27 23:39:23
【问题描述】:

我使用此代码检查用户名之前是否存在于数据库中。代码运行良好,并显示可用或已使用的用户名。现在我想提交按钮应该在用户选择之前使用的用户名时禁用,并在用户名可用时启用。请指导我如何。

$(document).ready(function() {
    $('#username').keyup(function() {
        $.post('adm/chk_uname_avail.php', { 
            uname : changeuser.username.value 
        }, function(result){
            $('#available').html(result);
        })
    })
})

【问题讨论】:

  • S(btn).attr( disabled, disabled )

标签: php jquery ajax


【解决方案1】:

我正在使用旧的 $.ajax 函数,并确保您有一个在 adm/chk_uname_avail.php 上使用布尔类型键入 taken 的数据(例如),并注意您应该从中返回 JSON 数据类型。

adm/chk_uname_avail.php 的示例

<?php
//return response as JSON
header('Content-type:application/json;charset=utf-8');

....
....
....

$data['taken'] = true; //show this response to ajax
echo json_encode($data);

?>

阿贾克斯

$(document).ready(function() {
   $('#username').on('keyup', function() {
        $.ajax({
            type: 'POST',
            url: 'adm/chk_uname_avail.php',
            data: {uname : changeuser.username.value},
            success: function(result) {
                var $btn = $('#submiButton');
                if (result.taken) {
                    $btn.prop('disabled', true);
                } else {
                    $btn.prop('disabled', false);
                }
                //As @Mikey notice, You can just use this as simply as
                //$('#submiButton').prop('disabled', result.taken);
            }        
        });
   });
});

【讨论】:

  • 您可以通过 $('#submitButton').prop('disabled', result.taken); 简化您的成功处理程序
【解决方案2】:

使用 jQuery 的.attr() 方法在特定条件下禁用提交。

所以你可以像这样更新你的 jQuery,

    $.post('adm/chk_uname_avail.php', { 
        uname : changeuser.username.value 
    }, function(result){
        $('#available').html(result);
        if(/* CHECK FOR CERTAIN CONDITION */) {
            $('#submit_btn').attr('disabled','disabled');
        }
    });

要删除disabled 属性,您可以使用jQuery 的removeAttr() 方法。像这样,

$('#submit_btn').removeAttr('disabled');

http://api.jquery.com/attr/

https://api.jquery.com/removeAttr/

【讨论】:

  • 亲爱的 Alok,我的问题是如何在您的代码中使用条件来实现启用或禁用提交按钮。code if($('#available').html(result)) { $('#submitbtn').attr('disabled','true'); } else { $('#submitbtn').attr('disabled','false'); } 不起作用。
  • 以上代码禁用了可用用户名和用户名的提交按钮。所以如果用户名可用,我无法提交按钮以保存在数据库中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 2012-02-04
  • 2016-07-26
  • 1970-01-01
相关资源
最近更新 更多