Javascript 如何避免重复的按钮点击请求
我正在单击一个按钮并调用一个函数。。。当我按两次按钮时 数据插入两次 在mysql数据库中,我如何在我的案例中避免它 这是我的动态html:Javascript 如何避免重复的按钮点击请求,javascript,jquery,mysql,ajax,onclick,Javascript,Jquery,Mysql,Ajax,Onclick,我正在单击一个按钮并调用一个函数。。。当我按两次按钮时 数据插入两次 在mysql数据库中,我如何在我的案例中避免它 这是我的动态html: <button type="button" href="javascript:;" class="btn btn-primary" onclick="jobResponse('yes',<?php echo $myjobs['id_job'];?>)"> Subimt </b
<button type="button"
href="javascript:;"
class="btn btn-primary"
onclick="jobResponse('yes',<?php echo $myjobs['id_job'];?>)">
Subimt </button>
传递按钮引用并禁用它,然后在ajax完成后,如果需要再次启用它
<button type="button" href="javascript:;" class="btn btn-primary" onclick="jobResponse(this, 'yes',<?php echo $myjobs['id_job'];?>)"> Subimt</button>
<!-- ----------------^^^^----
<script type="text/javascript">
function jobResponse(ele, res, jobId) {
var frm_data = {
res: res,
jobId: jobId
};
// disable the button
$(ele).prop('disabled', true);
$.ajax({
//ajax resopons and requst
complete: function() {
// enable the button if you need to
$(ele).prop('disabled', false);
}
});
}
</script>
当用户第一次单击下面的按钮时,您可以执行类似的禁用操作
onclick="this.disabled='true';jobResponse('yes',<?php echo $myjobs['id_job'];?>)">
onclick=“this.disabled='true';作业响应('yes',)”>
您可以使用这样的标志
<script type="text/javascript">
var isClicked = false;
function jobResponse(res,jobId){
if(isClicked=== false){
var frm_data = { res : res,
jobId : jobId
}
$.ajax({
//ajax resopons and requst
});
isClicked = true;
}
}
</script>
var isClicked=false;
函数jobResponse(res、jobId){
如果(isClicked==假){
var frm_data={res:res,
jobId:jobId
}
$.ajax({
//ajax解决方案和需求
});
isClicked=true;
}
}
您可以在这里遵循一个简单的技巧。最初定义布尔型变量true
。第一次单击后,将变为false
。就这样
<script type="text/javascript">
var x=true;
function jobResponse(res,jobId){
if(x){
x=false;
var frm_data = { res : res,
jobId : jobId
}
$.ajax({
//ajax resopons and requst
});
}
}
</script>
var x=真;
函数jobResponse(res、jobId){
if(x){
x=假;
var frm_data={res:res,
jobId:jobId
}
$.ajax({
//ajax解决方案和需求
});
}
}
在函数调用后禁用按钮,在ajax响应后启用
动态html
<button type="button"
href="javascript:;"
class="btn btn-primary"
id="saveJob"
onclick="jobResponse('yes',<?php echo $myjobs['id_job'];?>)">
Subimt </button>
如果有两个按钮,这是一样的吗?@LyndaCarter:是的,也一样
<button type="button"
href="javascript:;"
class="btn btn-primary"
id="saveJob"
onclick="jobResponse('yes',<?php echo $myjobs['id_job'];?>)">
Subimt </button>
<script type="text/javascript">
function jobResponse(res, jobId) {
var frm_data = {
res: res,
jobId: jobId
};
// disable the button
$(#saveJob).prop('disabled', true);
$.ajax({
//ajax resopons and requst
complete: function() {
// enable the button if you need to
$(#saveJob).prop('disabled', false);
}
});