Re: [T5] FormFragment doesn't work on IE6
I'd file JIRA for this. On Fri, Mar 28, 2008 at 3:14 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I had a look at the tapestry.js. The following function is used to > connect the checkbox with the fragment. > > // Links a FormFragment to a checkbox, such that changing the > checkbox will hide > // or show the FormFragment. Care should be taken to render the page > with the > // checkbox and the FormFragment('s visibility) in agreement. > > linkCheckboxToFormFragment : function(checkbox, element) > { > checkbox = $(checkbox); > > checkbox.observe("change", function() > { > $(element).formFragment.setVisible(checkbox.checked); > }); > }, > > I am not familiar with javascript function. But it seems to me that the > checkbox onchange event only toggles the visibility of the fragment. > There should be another line that toggels the hidden field value as > well. > > > -Original Message- > From: Adam Zimowski [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, March 27, 2008 4:10 PM > To: Tapestry users > Subject: Re: [T5] FormFragment doesn't work on IE6 > > I recently posted e-mail to this list on this exact same topic. Here > is that post: > > Per documentation, FormFragment decides if its content should be > submitted based on the hidden field [formfragmentname]:hidden: > > // this is the relevant code from FormFragment source: void > beginRender(..) >writer.element("input", > > "type", "hidden", > > "name", _controlName, > > "id", _clientId + ":hidden", > > "value", String.valueOf(_visible)); >writer.end(); > > > However, that field being generated at render time is fairly static, > which defeats the very purpose of dynamic behavior provided by > Tapestry.ElementEffect sidedown/slideup functions. The problem is that > when the silide function is invoked on the client (triggered by click > on the checkbox), that inherently means that FormFragment should be > submitted, but it won't be if the hidden field was generated with > false value. > > The solution to this problem should be Tapestry dynamically changing > hidden field's value to true/false based on the client side state of > the checkbox tied to the FormFragment. For those who need a > workaround, I can share mine. In onclick of submit button one can > execute the following function: > > function setupFragment(fragment, checkbox) { > var checked = document.getElementById(checkbox).value; > var advanced = (checked == 'on'); > document.getElementById(fragment + ':hidden').value=advanced; > } > > >onclick="setupFragment('advancedFragment','advancedCheckbox');" > type="submit" t:type="submit" value="Submit"/> > > I believe this should be one of those "plumbing" tasks that Tapestry > should do for us. Should this be a JIRA improvement, or am I missing > something? > > -adam > Reply > > Forward > > > Howard Lewis Ship > The code is already in place to set the hidden field to the correct > value whe... > > Howard's Reply was: > > "The code is already in place to set the hidden field to the correct > value when the form is submitted." > > In fact, that code is already present in deepVisible stuff inside > tapestry.js > > -adam > > > > > On Thu, Mar 27, 2008 at 3:02 PM, Zheng, Xiahong <[EMAIL PROTECTED]> > wrote: > > I found a workaround. It seems tapestry is not linking the checkbox > > event with the hidden field in this case > > > > addPositionFragment:hidden > > > > This value of this hidden field is used on the server side to > determine > > if binding of the fragment fields should happen. If I manually add a > > onchange event on the checkbox that toggles the value of the above > > field, it starts to work > > > > > >> > onclick="document.getElementById('addPositionFragment:hidden').value=tru > > e" > > fragment="addPositionFragment"/> > > > > Is this a bug or by design? > > > > > > > > -Original Message- > > From: Zheng, Xiahong > > Sent: Thursday, March 27, 2008 2:24 PM > > To: Tapestr
RE: [T5] FormFragment doesn't work on IE6
I had a look at the tapestry.js. The following function is used to connect the checkbox with the fragment. // Links a FormFragment to a checkbox, such that changing the checkbox will hide // or show the FormFragment. Care should be taken to render the page with the // checkbox and the FormFragment('s visibility) in agreement. linkCheckboxToFormFragment : function(checkbox, element) { checkbox = $(checkbox); checkbox.observe("change", function() { $(element).formFragment.setVisible(checkbox.checked); }); }, I am not familiar with javascript function. But it seems to me that the checkbox onchange event only toggles the visibility of the fragment. There should be another line that toggels the hidden field value as well. -Original Message- From: Adam Zimowski [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2008 4:10 PM To: Tapestry users Subject: Re: [T5] FormFragment doesn't work on IE6 I recently posted e-mail to this list on this exact same topic. Here is that post: Per documentation, FormFragment decides if its content should be submitted based on the hidden field [formfragmentname]:hidden: // this is the relevant code from FormFragment source: void beginRender(..) writer.element("input", "type", "hidden", "name", _controlName, "id", _clientId + ":hidden", "value", String.valueOf(_visible)); writer.end(); However, that field being generated at render time is fairly static, which defeats the very purpose of dynamic behavior provided by Tapestry.ElementEffect sidedown/slideup functions. The problem is that when the silide function is invoked on the client (triggered by click on the checkbox), that inherently means that FormFragment should be submitted, but it won't be if the hidden field was generated with false value. The solution to this problem should be Tapestry dynamically changing hidden field's value to true/false based on the client side state of the checkbox tied to the FormFragment. For those who need a workaround, I can share mine. In onclick of submit button one can execute the following function: function setupFragment(fragment, checkbox) { var checked = document.getElementById(checkbox).value; var advanced = (checked == 'on'); document.getElementById(fragment + ':hidden').value=advanced; } I believe this should be one of those "plumbing" tasks that Tapestry should do for us. Should this be a JIRA improvement, or am I missing something? -adam Reply Forward Howard Lewis Ship The code is already in place to set the hidden field to the correct value whe... Howard's Reply was: "The code is already in place to set the hidden field to the correct value when the form is submitted." In fact, that code is already present in deepVisible stuff inside tapestry.js -adam On Thu, Mar 27, 2008 at 3:02 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I found a workaround. It seems tapestry is not linking the checkbox > event with the hidden field in this case > > addPositionFragment:hidden > > This value of this hidden field is used on the server side to determine > if binding of the fragment fields should happen. If I manually add a > onchange event on the checkbox that toggles the value of the above > field, it starts to work > > > onclick="document.getElementById('addPositionFragment:hidden').value=tru > e" > fragment="addPositionFragment"/> > > Is this a bug or by design? > > > > -Original Message- > From: Zheng, Xiahong > Sent: Thursday, March 27, 2008 2:24 PM > To: Tapestry users > > > Subject: RE: [T5] FormFragment doesn't work on IE6 > > I am not sure why it is not working for me. Here is my simple test page, > > NewPosition.tml > > http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> > > > > > fragment="addPositionFragment"/> > Add Position ? > visible="addPosition"> > > > > Symbol > > > Shares > > > Price > > > > > value="newPosition.symbol"/> > >
Re: [T5] FormFragment doesn't work on IE6
I recently posted e-mail to this list on this exact same topic. Here is that post: Per documentation, FormFragment decides if its content should be submitted based on the hidden field [formfragmentname]:hidden: // this is the relevant code from FormFragment source: void beginRender(..) writer.element("input", "type", "hidden", "name", _controlName, "id", _clientId + ":hidden", "value", String.valueOf(_visible)); writer.end(); However, that field being generated at render time is fairly static, which defeats the very purpose of dynamic behavior provided by Tapestry.ElementEffect sidedown/slideup functions. The problem is that when the silide function is invoked on the client (triggered by click on the checkbox), that inherently means that FormFragment should be submitted, but it won't be if the hidden field was generated with false value. The solution to this problem should be Tapestry dynamically changing hidden field's value to true/false based on the client side state of the checkbox tied to the FormFragment. For those who need a workaround, I can share mine. In onclick of submit button one can execute the following function: function setupFragment(fragment, checkbox) { var checked = document.getElementById(checkbox).value; var advanced = (checked == 'on'); document.getElementById(fragment + ':hidden').value=advanced; } I believe this should be one of those "plumbing" tasks that Tapestry should do for us. Should this be a JIRA improvement, or am I missing something? -adam Reply Forward Howard Lewis Ship The code is already in place to set the hidden field to the correct value whe... Howard's Reply was: "The code is already in place to set the hidden field to the correct value when the form is submitted." In fact, that code is already present in deepVisible stuff inside tapestry.js -adam On Thu, Mar 27, 2008 at 3:02 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I found a workaround. It seems tapestry is not linking the checkbox > event with the hidden field in this case > > addPositionFragment:hidden > > This value of this hidden field is used on the server side to determine > if binding of the fragment fields should happen. If I manually add a > onchange event on the checkbox that toggles the value of the above > field, it starts to work > > >onclick="document.getElementById('addPositionFragment:hidden').value=tru > e" > fragment="addPositionFragment"/> > > Is this a bug or by design? > > > > -Original Message- > From: Zheng, Xiahong > Sent: Thursday, March 27, 2008 2:24 PM > To: Tapestry users > > > Subject: RE: [T5] FormFragment doesn't work on IE6 > > I am not sure why it is not working for me. Here is my simple test page, > > NewPosition.tml > > http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> > > > > > fragment="addPositionFragment"/> > Add Position ? > visible="addPosition"> > > > > Symbol > > > Shares > > > Price > > > > > value="newPosition.symbol"/> > > > value="newPosition.shares"/> > > > value="newPosition.purchasePrice"/> > > > > > > > > > > > > > And my page class > > NewPosition.java > > public class NewPosition { > > private Position newPosition = new Position(); > > private boolean addPosition; > > public String onSubmit() { > if (newPosition.getSymbol() != null) { > // do something > } > > return "Start"; > } > > public Position getNewPosition() { > return newPosition; > } > > public void setNewPosition(Position ne
RE: [T5] FormFragment doesn't work on IE6
I found a workaround. It seems tapestry is not linking the checkbox event with the hidden field in this case addPositionFragment:hidden This value of this hidden field is used on the server side to determine if binding of the fragment fields should happen. If I manually add a onchange event on the checkbox that toggles the value of the above field, it starts to work Is this a bug or by design? -Original Message- From: Zheng, Xiahong Sent: Thursday, March 27, 2008 2:24 PM To: Tapestry users Subject: RE: [T5] FormFragment doesn't work on IE6 I am not sure why it is not working for me. Here is my simple test page, NewPosition.tml http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> Add Position ? Symbol Shares Price And my page class NewPosition.java public class NewPosition { private Position newPosition = new Position(); private boolean addPosition; public String onSubmit() { if (newPosition.getSymbol() != null) { // do something } return "Start"; } public Position getNewPosition() { return newPosition; } public void setNewPosition(Position newPosition) { this.newPosition = newPosition; } public boolean isAddPosition() { return addPosition; } public void setAddPosition(boolean addPosition) { this.addPosition = addPosition; } } And the position class public class Position { private String symbol; private String shares; private String purchasePrice; public String getSymbol() { return symbol; } public void setSymbol(String symbol) { this.symbol = symbol; } public String getShares() { return shares; } public void setShares(String shares) { this.shares = shares; } public String getPurchasePrice() { return purchasePrice; } public void setPurchasePrice(String prices) { this.purchasePrice = prices; } } In the onSubmit method, the newPosition instance is always blank. I tried setting break point in the setter methods of the Position classes and they don't get invoked. -Original Message- From: Adam Zimowski [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2008 1:39 PM To: Tapestry users Subject: Re: [T5] FormFragment doesn't work on IE6 That could be by design. If your fragment is hidden values won't be submitted. If it's shown, they should be submitted and I never had this problem as they do submit correctly for me. I tested it with all kinds of browsers and it works well aside from issue with javascript slide down I mentioned earlier. On Thu, Mar 27, 2008 at 12:28 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I am seeing another problem; On submit from the fragment, I don't get > any input values bound to the fragment fields. Has anybody seen it? > > > > -Original Message- > From: Adam Zimowski [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 27, 2008 1:01 PM > To: Tapestry users > Subject: Re: [T5] FormFragment doesn't work on IE6 > > I think there is an issue, although it works partially. If you click > on the checkbox it doesn't slide the fragment down. However, a > subsequent click anywhere on the page will slide it down causing the > process and checkbox to be out of sync. I implemented my own toggle > functionality so it wasn't that major of an issue for me, but that is > something that probably has to get fixed for IE6. > > On Thu, Mar 27, 2008 at 11:31 AM, Zheng, Xiahong <[EMAIL PROTECTED]> > wrote: > > Anybody tested formfragment/mixin on IE6? I could not get the fragment > > to show on IE6. It does work on firefox however. Is this a known > issue > > or am I missing something? > > > > -
RE: [T5] FormFragment doesn't work on IE6
I am not sure why it is not working for me. Here is my simple test page, NewPosition.tml http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> Add Position ? Symbol Shares Price And my page class NewPosition.java public class NewPosition { private Position newPosition = new Position(); private boolean addPosition; public String onSubmit() { if (newPosition.getSymbol() != null) { // do something } return "Start"; } public Position getNewPosition() { return newPosition; } public void setNewPosition(Position newPosition) { this.newPosition = newPosition; } public boolean isAddPosition() { return addPosition; } public void setAddPosition(boolean addPosition) { this.addPosition = addPosition; } } And the position class public class Position { private String symbol; private String shares; private String purchasePrice; public String getSymbol() { return symbol; } public void setSymbol(String symbol) { this.symbol = symbol; } public String getShares() { return shares; } public void setShares(String shares) { this.shares = shares; } public String getPurchasePrice() { return purchasePrice; } public void setPurchasePrice(String prices) { this.purchasePrice = prices; } } In the onSubmit method, the newPosition instance is always blank. I tried setting break point in the setter methods of the Position classes and they don't get invoked. -Original Message- From: Adam Zimowski [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2008 1:39 PM To: Tapestry users Subject: Re: [T5] FormFragment doesn't work on IE6 That could be by design. If your fragment is hidden values won't be submitted. If it's shown, they should be submitted and I never had this problem as they do submit correctly for me. I tested it with all kinds of browsers and it works well aside from issue with javascript slide down I mentioned earlier. On Thu, Mar 27, 2008 at 12:28 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I am seeing another problem; On submit from the fragment, I don't get > any input values bound to the fragment fields. Has anybody seen it? > > > > -Original Message- > From: Adam Zimowski [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 27, 2008 1:01 PM > To: Tapestry users > Subject: Re: [T5] FormFragment doesn't work on IE6 > > I think there is an issue, although it works partially. If you click > on the checkbox it doesn't slide the fragment down. However, a > subsequent click anywhere on the page will slide it down causing the > process and checkbox to be out of sync. I implemented my own toggle > functionality so it wasn't that major of an issue for me, but that is > something that probably has to get fixed for IE6. > > On Thu, Mar 27, 2008 at 11:31 AM, Zheng, Xiahong <[EMAIL PROTECTED]> > wrote: > > Anybody tested formfragment/mixin on IE6? I could not get the fragment > > to show on IE6. It does work on firefox however. Is this a known > issue > > or am I missing something? > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -
Re: [T5] FormFragment doesn't work on IE6
That could be by design. If your fragment is hidden values won't be submitted. If it's shown, they should be submitted and I never had this problem as they do submit correctly for me. I tested it with all kinds of browsers and it works well aside from issue with javascript slide down I mentioned earlier. On Thu, Mar 27, 2008 at 12:28 PM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > I am seeing another problem; On submit from the fragment, I don't get > any input values bound to the fragment fields. Has anybody seen it? > > > > -Original Message- > From: Adam Zimowski [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 27, 2008 1:01 PM > To: Tapestry users > Subject: Re: [T5] FormFragment doesn't work on IE6 > > I think there is an issue, although it works partially. If you click > on the checkbox it doesn't slide the fragment down. However, a > subsequent click anywhere on the page will slide it down causing the > process and checkbox to be out of sync. I implemented my own toggle > functionality so it wasn't that major of an issue for me, but that is > something that probably has to get fixed for IE6. > > On Thu, Mar 27, 2008 at 11:31 AM, Zheng, Xiahong <[EMAIL PROTECTED]> > wrote: > > Anybody tested formfragment/mixin on IE6? I could not get the fragment > > to show on IE6. It does work on firefox however. Is this a known > issue > > or am I missing something? > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [T5] FormFragment doesn't work on IE6
I am seeing another problem; On submit from the fragment, I don't get any input values bound to the fragment fields. Has anybody seen it? -Original Message- From: Adam Zimowski [mailto:[EMAIL PROTECTED] Sent: Thursday, March 27, 2008 1:01 PM To: Tapestry users Subject: Re: [T5] FormFragment doesn't work on IE6 I think there is an issue, although it works partially. If you click on the checkbox it doesn't slide the fragment down. However, a subsequent click anywhere on the page will slide it down causing the process and checkbox to be out of sync. I implemented my own toggle functionality so it wasn't that major of an issue for me, but that is something that probably has to get fixed for IE6. On Thu, Mar 27, 2008 at 11:31 AM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > Anybody tested formfragment/mixin on IE6? I could not get the fragment > to show on IE6. It does work on firefox however. Is this a known issue > or am I missing something? > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [T5] FormFragment doesn't work on IE6
I think there is an issue, although it works partially. If you click on the checkbox it doesn't slide the fragment down. However, a subsequent click anywhere on the page will slide it down causing the process and checkbox to be out of sync. I implemented my own toggle functionality so it wasn't that major of an issue for me, but that is something that probably has to get fixed for IE6. On Thu, Mar 27, 2008 at 11:31 AM, Zheng, Xiahong <[EMAIL PROTECTED]> wrote: > Anybody tested formfragment/mixin on IE6? I could not get the fragment > to show on IE6. It does work on firefox however. Is this a known issue > or am I missing something? > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [T5] FormFragment doesn't work on IE6
Anybody tested formfragment/mixin on IE6? I could not get the fragment to show on IE6. It does work on firefox however. Is this a known issue or am I missing something? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]