jquery BlockUI出错

时间:2013-06-04 13:13:05

标签: javascript jquery blockui jquery-blockui

我已多次使用此插件,其方式与此处所示的方式非常相似,但我的最新实现无效。

这是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'}

我感到困惑,因为这段代码与我在其他页面上所做的完全相同,没有失败。有人可以在这里找到问题我不见了吗?

2 个答案:

答案 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)