我在shortlist.php
文件中有一个按钮,我通过Ajax向MySQL shortlisted
表提交特定用户的新数据。
<button type="button" id="applybutton" class="btn btn-primary" >
<div class="hidden-xs" id="result">Shortlist</div>
</button>
它工作得很棒,但我想带来改变。赞:在页面shortlist.php
页面加载我想检查ApplicantId
列shortlisted
MySQL表中是否存在相同的UserId。如果存在,那么此按钮应该禁用,并且按钮中的Shortlist单词应该更改为入围单词,如果不存在,那么它应该是原样。
额外详情:
提前致谢。
答案 0 :(得分:0)
当您发送ajax呼叫时,单击该按钮后,您可以使用以下命令禁用按钮。
$(this).attr("disabled","disabled");
要在刷新/加载页面时首先禁用按钮,您可以稍微更改您的查询。使用当前查询左加入入围的表格。然后,如果从连接表中获得任何值,则禁用该按钮。
左连接查询
SELECT profiles.*, shortlisted.ApplicantId FROM profiles LEFT JOIN shortlisted ON profiles.UserId=shortlisted.ApplicantId WHERE profiles.UserId = '$reserver'
并将按钮更改为以下
<button type="button" id="applybutton" class="btn btn-primary" <?=($row['ApplicantId'])?" disabled='disabled':''?> >
希望这会有所帮助
答案 1 :(得分:0)
如果他确实回显了按钮内的已禁用属性。并提供一些信息,为什么它被禁用
提交后,您验证请求(检查他是否真正在表格中没有条目,因为他可以轻松删除html中的禁用)。
在发送ajax请求之前提交禁用按钮。然后使用以下逻辑提交请求。
$('button').click(function(){
$('p.sub_info').text("Form submitting...");
$('#sub_button').attr("disabled", true);
$.ajax({
url: "shortlist.php",
success: function(result){
if(result === true){ // Everything is ok
$('p.sub_info').text("You're now on the list.");
$('#sub_button').attr("disabled", true);
}
else{ // He did not pass validation
$('p.sub_info').text("It seems we already have you on the list.");
$('#sub_button').attr("disabled", true);
}
},
error: function(result){
$('p.sub_info').text("Something went wrong.");
$('#sub_button').attr("disabled", false);
}
});
});