2012-03-26 17 views
0

私のアプリをTapestry 5.0.18から5.1.0.5にアップグレードすると、javascriptエラーが発生します。 5.1.0.5に部分的なAjaxレスポンスのWaitForPage()に対する修正があることを知っています。しかし、私はまだJavaスクリプトのエラーgettinを維持します。以下は私のコードです。Tapestry5.1へのアップグレードJavascriptエラー

 <table t:id="itemPanel" t:type="CustomSlidingPanel" closed="true" subject="literal:itemes" blockId="literal:itemPanel_content" linkToDisplay="New item" actionLink="newitem" zoneOnAction="itemZone"/> 
     <div id="itemPanel_content" style="display: none;"> 
      <table t:id="itemGrid" t:type="customGrid" source="item" row="itemRow" clientId="literal:itemGrid" rowId="itemRow.itemId" add="edit" include="type, item, price,store,startDate, endDate, ynprimary" inplace="true"> 
       <t:parameter name="editCell"> 
        <t:actionlink t:id="editItem" t:zone="itemZone" t:context="itemRow.id">Edit</t:actionlink> 
       </t:parameter> 
      </table> 
     </div> 
     <t:zone t:id="itemZone" visible="false"> 
      <t:delegate to="itemBlock" /> 
     </t:zone> 
     <t:block t:id="itemBlock"> 
      <div id="newitemDiv" class="dataEntry"/> 
      <div id="itemDivParent"> 
       <div id="itemDiv" class="dataEntry"> 
        <t:form t:id="itemForm" name="itemForm"> 
         <t:if test="itemObject.id"> 
          <script type="text/javascript">insertDivElement('itemGrid${itemObject.id}','itemDivParent','itemDiv','newitemDiv','8');</script> 
         </t:if> 
         <t:if test="newitem"> 
          <script type="text/javascript">createNewDivElement('itemDivParent','itemDiv','newitemDiv');</script> 
         </t:if> 
         <table t:id="itemComponent" t:type="item" itemObject="itemObject"/> 
         <div style="width: 50%" align="center"> 
          <input t:id="saveitem" t:type="Submit" class="button" value="Save" />&nbsp; <input type="button" class="button" value="Cancel" onClick="hideDivs('itemDivParent','itemDiv','newitemDiv');" />&nbsp; <t:if test="itemImported" negate="true"> 
           <input t:id="deleteitem" t:type="SubmitContext" class="button" value="Delete" t:context="itemObject.id" /> &nbsp;</t:if> 
         </div> 
         <br /> 
        </t:form> 
       </div> 
      </div> 
     </t:block> 

ここにはエラーメッセージが表示されます。 Tapestry.jsにある "Tapestry.waitForPage(event)"に間違っているようです。助けてもらえますか?

Message: Object doesn't support this property or method 
Line: 197 
Char: 1 
Code: 0 
URI: http://localhost:8080/ItemEntry?itemId=131686 
<a id="editItemPrice" onclick="javascript:Tapestry.waitForPage(event);" href="itementry.edititemprice/6578">Edit</a> 
+0

多分、それはブラウザキャッシングの問題です。私はTapestryをアップグレードした後は、古いスクリプトが問題の原因となっていることを一度も知っていました。私のキャッシュをクリアした後、それは働いた。 – luukes

答えて

0

私は、これはdiscussed on the mailing listとしてcombine scripts settingに関連するかもしれないと考えています。 VM引数として偽-Dtapestry.combine-スクリプトを=に設定したり、AppModuleにこれを追加します。

public static void contributeApplicationDefaults(final MappedConfiguration<String, String> configuration) { 
    configuration.add(SymbolConstants.COMBINE_SCRIPTS, "false"); 
} 

あなたがが5.3にアップグレードしない理由はありますか? 5.1以上の改善点があります。

+0

ご返信ありがとうございます。リリースごとにリリースをアップグレードしています。どこでDtapestry.combine-scripts = falseを設定しますか? – sreenaji

+0

あなたはあなたのアプリを-Dtapestry.combine-scripts = falseとして起動するVM引数として設定するか、変更された回答で表示するようにappモジュールに追加します。 – joostschouten

+0

appmoduleに追加しても機能しませんでした。私はまた、ブラウザのキャッシュをクリアして使用していません。他の助けがあれば幸いです。 – sreenaji

関連する問題