我已多次使用此插件,其方式与此处所示的方式非常相似,但我的最新实现无效。
这是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'}
我感到困惑,因为这段代码与我在其他页面上所做的完全相同,没有失败。有人可以在这里找到问题我不见了吗?
答案 0 :(得分:0)
我发现<c:if>
块内存在一些不一致之处。底部的一个用双引号包装saveConfirm2。最上面的一个在saveConfirm之后只有一个双引号。即使没有这个问题,也不完全清楚你想要做什么,所以只需看看渲染的HTML就可以确保它有意义。另外,我不熟悉,但它看起来像是来自快速搜索的JSP。在这种情况下,<c:if>
块仅用于条件渲染。这些块中的内容应以/>
结尾以关闭<input
节点。为了正确关闭节点并使两个函数都被调用onClick,您需要进行以下修改。我用双引号创建了onClick开头。然后c:if块中的内容关闭初始开头报价并关闭
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错误。
答案 1 :(得分:0)