Javascript jQuery blockUI不工作
我试图使用blockUI,但尽管它没有错误,但它不起作用 下面的代码都在$(document).ready()函数中 编辑以添加到submitNew函数中Javascript jQuery blockUI不工作,javascript,jquery,jquery-blockui,Javascript,Jquery,Jquery Blockui,我试图使用blockUI,但尽管它没有错误,但它不起作用 下面的代码都在$(document).ready()函数中 编辑以添加到submitNew函数中 必须添加此位作为编辑器,因为我添加了太多的代码….以当前方式,代码按以下顺序执行: 挡块 提交函数,我认为是异步的 解除封锁 因此,由于submit函数是异步的,所以取消阻塞的执行太早,而不是在提交过程完成时执行 尝试在ajax调用的complete/done函数中移动unblock函数。尝试以下操作: <script sr
必须添加此位作为编辑器,因为我添加了太多的代码….以当前方式,代码按以下顺序执行:
- 挡块
- 提交函数,我认为是异步的
- 解除封锁
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.66.0-2013.10.09/jquery.blockUI.js">
</script>
<script>
$(document).ready(function() {
$('#btnSubmit').on('click', function() {
$('#form').validate({
errorPlacement : function(error, element) {
error.insertBefore(element); // <- the default
},
rules : {
username : {
required : true
},
password : {
required : true,
},
},
messages : {
username : {
required : " Username required."
},
password : {
required : " Password required."
},
},
});
if($('#form').valid()){
$.blockUI({ message: 'Just a moment...</h1>' });
}
});
});
</script>
$(文档).ready(函数(){
$('btnSubmit')。在('click',function()上{
$(“#表单”)。验证({
errorPlacement:函数(错误,元素){
错误。insertBefore(元素);//请确保包含这些LIB
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <!-- Optional-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.blockUI/2.70/jquery.blockUI.min.js"></script>
对于阻塞,请添加此行
$.blockUI({消息:'正在加载…})
对于取消阻止,请添加$.unbuui()
功能测试()
{
var rndomness=“?rnd=“+new Date().getTime())
var URL=“XYZ”+rndomness
var snowId=document.getElementById(“snowId”).value;
var message={snowId:snowId};
$.blockUI({消息:'正在加载…});
$.ajax({
类型:“POST”,
url:url,
数据:JSON.stringify(消息),
contentType:“应用程序/json;字符集=utf-8”,
cache:false,
成功:功能(响应){
你到底想做什么
$.unbui();
}
});
}
在我的例子中,当ajax调用是同步的但不起作用时,成功块中必须有$.unblokUI,这一点很重要,例如
asynch:false
将不起作用,我将asynch:true设置为,在我的情况下,如果ajax调用是同步的,则BlockUI将起作用
所以我在ajax代码块中设置了async:true,BlockUI正在工作
async: true
提交时会发生什么情况?@SaidKholov其他一切都正常工作-submitNew函数名为unblock()
应在您的请求完成且未打开时执行submit@IrvinDominin我的页面上的div,例如@leddy,我可以看到submitNew函数吗?是ajax调用吗?我已经将取消阻止移动到submitNew函数的末尾,但它仍然没有被调用。在ajax调用中,它可能在函数中被调用提交工作表或在内部感谢!你救了我1
var rndomness="?rnd="+new Date().getTime()
var URL="XYZ"+rndomness
var snowId=document.getElementById("snowId").value;
var message = { snowId:snowId };
$.blockUI({ message: '<img src="resources/images/loadingajax.gif" /> Loading...' });
$.ajax({
type: "POST",
url : URL,
data: JSON.stringify(message),
contentType:"application/json; charset=utf-8",
cache: false,
success: function(response){
dowhatever u want to do with response
$.unblockUI();
}
});
}
asynch:false
async: true