我已多次使用此插件,使用方式与此处所见非常相似,但我最新的实现无法正常工作。
这是 JavaScript:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.blockUI.js" type="text/javascript"></script>
<script type="text/javascript">
function disableButtons(){
alert('TEST'); //this is here just to see if the function is called
$('div.blockbutton').block({
message: '<h4>Saving...</h4>',
css: { border: '2px solid orange' }
});
}
</script>
和 HTML:
<div align="center" class="blockbutton">
<input name="save" type="button" class="btn6022" value="Save"
onClick=disableButtons();
<c:if test='${(sessionScope.package != "NWR")}'>
saveConfirm1(onset_date,report_date,lost_consciousness_date,fatal_death_date);">
</c:if>
<c:if test='${(sessionScope.package == "NWR")}'>
"saveConfirm2(onset_date,report_date,fatal_death_date);">
</c:if>
</div>
这是我的 Firebug 控制台在触发该功能时给我的信息: TypeError: $(...).block 不是一个函数 [打破这个错误]
css: { border: '2px solid orange' }
我很困惑,因为这段代码与我在其他页面上所做的完全相同,而且没有失败。有人能发现我遗漏的问题吗?
最佳答案
我发现您的 <c:if>
中存在一些不一致之处 block 。底部的 saveConfirm2 用双引号引起来。最上面的只有saveConfirm后最后一个双引号。即使没有这个问题,也不完全清楚您要做什么,所以只需查看呈现的 HTML 以确保它有意义。另外,我不熟悉,但它看起来像快速搜索的 JSP。在这种情况下,<c:if>
block 仅用于条件渲染。这些 block 中的内容应以 />
结尾关闭 <input
节点。为了正确关闭节点并让您的两个函数都被调用 onClick,您需要进行以下修改。我使 onClick 以双引号开头。然后 c:if block 中的内容关闭初始开盘价并关闭
onClick="disableButtons();
<c:if test='${(sessionScope.package != "NWR")}'>
saveConfirm1(onset_date,report_date,lost_consciousness_date,fatal_death_date);" />
</c:if>
<c:if test='${(sessionScope.package == "NWR")}'>
saveConfirm2(onset_date,report_date,fatal_death_date);" />
</c:if>
我认为您看到的是由于 HTML 格式错误导致的 javascript 错误。
关于javascript - jquery BlockUI 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918815/