2012-04-30 34 views
0

我有這樣的JSF表:的JavaScript錯誤在JSF表

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets"> 
    <h:head> 
     <ui:insert name="header">   
      <ui:include src="header.xhtml"/>   
     </ui:insert> 
    </h:head> 
    <h:body> 

     <h1><img src="resources/css/images/icon.png" alt="DX-57" /> History Center</h1> 
     <!-- layer for black background of the buttons --> 
     <div id="toolbar" style="margin: 0 auto; width:1180px; height:30px; position:relative; background-color:black"> 
      <!-- Include page Navigation --> 
      <ui:insert name="Navigation">   
       <ui:include src="Navigation.xhtml"/>   
      </ui:insert> 

     </div> 

     <div id="logodiv" style="position:relative; top:35px; left:0px;"> 
      <h:graphicImage alt="Dashboard" style="position:relative; top:-20px; left:9px;" value="resources/images/logo_sessions.png" /> 
     </div> 
     <div id="main" style="margin: 0 auto; width:1190px; height:700px; position:absolute; background-color:transparent; top:105px"> 

      <div id="mainpage" style="margin: 0 auto; width:1190px; height:500px; position:absolute; background-color:transparent; top:80px"> 

       <div id="settingsHashMap" style="width:750px; height:400px; position:absolute; background-color:r; top:20px; left:1px"> 

        <h:form id="form"> 

         <ui:debug /> 

         <!-- The sortable data table --> 
         <h:dataTable id="dataTable" value="#{SessionsController.dataList}" binding="#{table}" var="item"> 
          <!-- Check box --> 
          <h:column> 
           <f:facet name="header"> 
            <h:outputText value="Select" /> 
           </f:facet> 
           <h:selectBooleanCheckbox onclick="highlight(this)" value="#{SessionsController.selectedIds[dataItem.id]}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="№" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="№" value="№" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{table.rowIndex + SessionsController.firstRow + 1}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="Account Session ID" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="sortField" value="Account Session ID" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{item.aSessionID}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="User ID" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="sortField" value="User ID" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{item.userID}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="Activity Start Time" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="sortField" value="Activity Start Time" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{item.activityStart}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="Activity End Time" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="sortField" value="Activity End Time" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{item.activityEnd}" /> 
          </h:column> 
          <h:column> 
           <f:facet name="header"> 
            <h:commandLink value="Activity" actionListener="#{SessionsController.sort}"> 
             <f:attribute name="sortField" value="Activity" /> 
            </h:commandLink> 
           </f:facet> 
           <h:outputText value="#{item.activity}" /> 
          </h:column> 
         </h:dataTable> 

         <!-- The paging buttons --> 
         <h:commandButton value="first" action="#{SessionsController.pageFirst}" 
             disabled="#{SessionsController.firstRow == 0}" > 
          <f:ajax render="@form" execute="@form"></f:ajax> 
         </h:commandButton> 


         <h:commandButton value="prev" action="#{SessionsController.pagePrevious}" 
             disabled="#{SessionsController.firstRow == 0}" > 
          <f:ajax render="@form" execute="@form"></f:ajax> 
         </h:commandButton> 

         <h:commandButton value="next" action="#{SessionsController.pageNext}" 
             disabled="#{SessionsController.firstRow + SessionsController.rowsPerPage >= SessionsController.totalRows}" > 
          <f:ajax render="@form" execute="@form"></f:ajax> 
         </h:commandButton> 

         <h:commandButton value="last" action="#{SessionsController.pageLast}" 
             disabled="#{SessionsController.firstRow + SessionsController.rowsPerPage >= SessionsController.totalRows}" > 
          <f:ajax render="@form" execute="@form"></f:ajax> 
         </h:commandButton> 

         <h:outputText value="Page #{SessionsController.currentPage}/#{SessionsController.totalPages}" /> 
         <br /> 

         <!-- The paging links --> 
         <ui:repeat value="#{SessionsController.pages}" var="page"> 
          <h:commandLink value="#{page}" actionListener="#{SessionsController.page}" 
              rendered="#{page != SessionsController.currentPage}" > 
           <f:ajax render="@form" execute="@form"></f:ajax> 
          </h:commandLink> 
          <h:outputText value="#{page}" escape="false" 
              rendered="#{page == SessionsController.currentPage}" /> 
         </ui:repeat> 
         <br /> 

         <!-- Set rows per page --> 
         <h:outputLabel for="rowsPerPage" value="Rows per page" /> 
         <h:inputText id="rowsPerPage" value="#{SessionsController.rowsPerPage}" size="3" maxlength="3" /> 
         <h:commandButton value="Set" action="#{SessionsController.pageFirst}" > 
          <f:ajax render="@form" execute="@form"></f:ajax> 
         </h:commandButton> 
         <h:message for="rowsPerPage" errorStyle="color: red;" /> 

        </h:form>     

       </div> 

       <div id="settingsdivb" style="width:350px; height:400px; position:absolute; background-color:transparent; top:20px; left:800px"> 

       </div> 
      </div> 
     </div> 

     <script type="text/javascript"> 
       $("tr").not(':first').hover(
       function() { 
       $(this).css("background","#707070"); 
       }, 
       function() { 
       $(this).css("background",""); 
       } 
      );    

      function highlight(param) { 
      var row = jQuery(param).parent().parent().children(); 
       row.toggleClass('highlited'); 
      }  

      $(document).ready(function() { 
      $("#tabs").tabs(); 
      }); 

      $(window).load(function() { 
        jsf.ajax.addOnEvent(function (data) { 
          if (data.status === "success") { 
            $("#tabs").tabs(); 
          } 
        }); 
      }); 
     </script> 


    </h:body> 
</html> 

當我打開網頁到Firefox中,我得到錯誤的螢火蟲在這些線路上:

$(document).ready(function() { 
      $("#tabs").tabs(); 
      }); 

      $(window).load(function() { 
        jsf.ajax.addOnEvent(function (data) { 
          if (data.status === "success") { 
            $("#tabs").tabs(); 
          } 
        }); 
      }); 

它似乎有一個這個JavaScript代碼中的錯誤。我如何修復代碼?

祝福

編輯

這是在Firebug

highlight is not defined 

這裏確切的錯誤是在Firebug的錯誤:

function onclick(event) { 
    highlight(this); 
} 

回答

1

它不相關的表...

我沒有看到你發佈的代碼的任何選項卡...所以刪除此JS代碼...

這個js代碼的目的是基於HTML代碼來呈現的標籤......,我不請參閱

<h:panelGroup id="tabs" layout="block"> in your page... 

順便說一下,您在js中看到的確切錯誤是什麼?

更新

它說,沒有命名亮點在你的js代碼的功能...你應該實現它,或者確保它位於裏面的爵士已包含在您

頁例如

如果你使用jQuery以下可能的工作......(取決於您傳遞的變量)

function highlight(myThis){ 
    $(myThis).effect("highlight", {}, 3000); 
} 
+0

我更新了帖子 –

+0

我更換代碼這樣:http://pastebin.com/Ez7jTmnZ但是,當我點擊一行選擇它沒有突出顯示。也許缺少一些東西? –

+0

好吧,我有一個壞消息和好消息 - 我把高亮的JavaScript函數放到頭文件中,它現在可以正常工作。不好的一點是,當我在光標之間移動光標時,它們沒有被突出顯示 - 這段代碼可能丟失或者不可見 - http://pastebin.com/2QQ2Gv6k我必須在哪裏放置這段代碼才能工作? –