如果与记录不匹配,则禁用按钮

时间:2014-04-28 05:29:04

标签: jquery ajax

我这里有一个通过ajax匹配记录的脚本。我需要做的是如果数据库记录中的记录匹配不禁用该按钮。但我的问题是保存按钮永久禁用。我的脚本有什么问题?任何帮助都会受到欢迎。

<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<form action="" method="post">
<input type="text" name="item" id="item" value="" class="inputs" autocomplete="off">
<div><span id="status" class="inputs"></span></div>
<input type="button" name="sub" id="save">
</form>

<script type="text/javascript">
$(document).ready(function()
{
$('input[id="item"]').change(function()
{
var item = $("#item").val();
var msgbox = $("#status");
$('#save').prop('disabled',true);
//$("#status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...');

$.ajax({
    type: "POST",
    url: "check_ajax.php",
    data: "item="+item,
    success: function(msg){
    console.log(msg)
   $("#status").ajaxComplete(function(event, request){
    if(msg == 'FOUND')
    {
    msgbox.html('<img src="images/available.png" align="absmiddle">');
    $("#save").prop("disabled",false);
    }
    else
    {
    $("#save").prop("disabled",true);
    msgbox.html(msg);
    }
   });
   }
  });// ajax close
return false;
});// change close
});// jquery close
</script>

3 个答案:

答案 0 :(得分:2)

使用attr方法代替prop。然后它会正常工作。

$("#save").attr("disabled",false);
$("#save").attr("disabled",true);

您在console.log();

中成功丢失了分号

答案 1 :(得分:0)

更改您的ajax success callback赞,

success: function(msg){
    console.log(msg);
    if(msg == 'FOUND')
    {
       msgbox.html('<img src="images/available.png" align="absmiddle">');
       $("#save").prop("disabled",false);
    }
    else
    {
       $("#save").prop("disabled",true);
       msgbox.html(msg);
    }
}

答案 2 :(得分:0)

success: function(msg)
{
    console.log(msg);
    if(msg == 'FOUND')
    {
        msgbox.html('<img src="images/available.png" align="absmiddle">');

        $("#save").removeAttr("disabled");
    }
    else
    {
        $("#save").attr("disabled","disabled");
        msgbox.html(msg);
    }
};