cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kamal Bhatt <kbh...@tt.com.au>
Subject Re: Tabs and CForms
Date Thu, 18 Oct 2007 23:58:09 GMT
Kamal Bhatt wrote:
> Hi again,
> I had a play with Ajax and tabs. I am not happy that all elements are 
> on the screen at the time, but I can leave with it for now (thanks to 
> Ajax).
>
> However, I have discovered that problem with tabs and validation [1]. 
> I disagree with the assertion that the fix for this is to create a 
> ft:validation-error, that just hides the underlying problem. I think 
> the proper solution is to turn off ajax when doing a full submit. I 
> was wondering if anyone had any ideas how to do this? I tried to 
> change the DOM structure and set the ajax attribute on the form to 
> false on the click of the submit. This had less than optimal results.
>
> So I guess my question is how do you to tell CForms to resubmit the 
> whole form?
>
> Thanks.
>
> [1] http://marc.info/?l=xml-cocoon-dev&m=117269621604981&w=2
>
I think I have my solution. Can someone tell me what is wrong with my 
solution (it seems completely dodgy)?

I setup my forms-sample-styling to do the following:

<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
                exclude-result-prefixes="fi">

  <!--+ Include styling stylesheets, one for the widgets, the other one 
for the
      | page. As 'forms-advanced-field-styling.xsl' is a specialization of
      | 'forms-field-styling.xsl' the latter one is imported there. If 
you don't
      | want advanced styling of widgets, change it here!
      | See xsl:include as composition and xsl:import as 
extension/inheritance.
      +-->
  <xsl:include 
href="resource://org/apache/cocoon/forms/resources/forms-page-styling.xsl"/>
  <xsl:include 
href="resource://org/apache/cocoon/forms/resources/forms-advanced-field-styling.xsl"/>

  <!-- Location of the resources directory, where JS libs and icons are 
stored -->
  <xsl:param name="resources-uri">resources</xsl:param>
 
  <xsl:template match="head">
    <head>
      <xsl:apply-templates select="." mode="forms-page"/>
      <xsl:apply-templates select="." mode="forms-field"/>
      <xsl:apply-templates/>
      <script type="text/javascript">
        function turnOffAjax()
        {
            var frm = document.getElementById("kamal");
            frm.setAttribute("onsubmit", "forms_onsubmit();");
            frm.setAttribute("ajax", "false");
            cocoon.forms.ajax = false;
        }
      </script>
    </head>
  </xsl:template>

  <xsl:template match="body">
    <body>
      <!--+ !!! If template with mode 'forms-page' adds text or elements
          |        template with mode 'forms-field' can no longer add 
attributes!!!
          +-->
      <xsl:apply-templates select="." mode="forms-page"/>
      <xsl:apply-templates select="." mode="forms-field"/>
      <xsl:apply-templates/>
    </body>
  </xsl:template>

  <xsl:template match="fi:action[fi:styling/@force-full-submit = 
'true']" priority="100">
    <input id="{@id}" type="submit" name="{@id}" title="{fi:hint}" 
onclick="turnOffAjax()">
      <xsl:attribute name="value"><xsl:value-of 
select="fi:label/node()"/></xsl:attribute>
      <xsl:apply-templates select="." mode="styling"/>
    </input>
  </xsl:template>
</xsl:stylesheet>



-- 
Kamal Bhatt


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message