我这里有一个通过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"> 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>
答案 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);
}
};