Details
Description
As per ICE-6717, when disabling Ajax for a form:
<f:ajax disabled="true">
<h:form id="disabledForm">
<h:panelGrid columns="2">
...
the intent was to prevent the captureSubmit script that we automatically add to forms from being rendered and thus reverting to "stock" form submission (i.e. non-Ajax requests). What I am seeing is that the script is still being rendered but that the form also includes a list of disabled elements which indicates that the bridge should do a "normal" form submission rather than use our form submission code. So the current output looks something like this:
<form action="/fajax/disabledForm.jsf" enctype="application/x-www-form-urlencoded" id="disabledForm" method="post" name="disabledForm">
....
<script id="disabledForm:disabledForm_captureSubmit" type="text/javascript">ice.captureSubmit('disabledForm',false);ice.captureEnterKey('disabledForm');</script>
....
<input disabled="true" id="disabledForm:ajaxDisabled" type="hidden" value=" disabledForm:cbaDisabledForm disabledForm:cblDisabledForm ">
....
</form>
The difference is subtle. What we want is for our script not to be rendered so that submits are done in a typical, non-Ajax fashion. What is happening is that our script is being rendered but includes a list of disabled components which indicate the components that should not trigger an Ajax request. The trick is that the final behaviour may look identical (a non-Ajax form submission).
So it's possible that this may not actually be a regression. Instead, the issue may not have been detected in testing because we simply saw the non-Ajax request and weren't actively checking for the script being rendered.
<f:ajax disabled="true">
<h:form id="disabledForm">
<h:panelGrid columns="2">
...
the intent was to prevent the captureSubmit script that we automatically add to forms from being rendered and thus reverting to "stock" form submission (i.e. non-Ajax requests). What I am seeing is that the script is still being rendered but that the form also includes a list of disabled elements which indicates that the bridge should do a "normal" form submission rather than use our form submission code. So the current output looks something like this:
<form action="/fajax/disabledForm.jsf" enctype="application/x-www-form-urlencoded" id="disabledForm" method="post" name="disabledForm">
....
<script id="disabledForm:disabledForm_captureSubmit" type="text/javascript">ice.captureSubmit('disabledForm',false);ice.captureEnterKey('disabledForm');</script>
....
<input disabled="true" id="disabledForm:ajaxDisabled" type="hidden" value=" disabledForm:cbaDisabledForm disabledForm:cblDisabledForm ">
....
</form>
The difference is subtle. What we want is for our script not to be rendered so that submits are done in a typical, non-Ajax fashion. What is happening is that our script is being rendered but includes a list of disabled components which indicate the components that should not trigger an Ajax request. The trick is that the final behaviour may look identical (a non-Ajax form submission).
So it's possible that this may not actually be a regression. Instead, the issue may not have been detected in testing because we simply saw the non-Ajax request and weren't actively checking for the script being rendered.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Deryk Sinotte
created issue -
Deryk Sinotte
made changes -
Field | Original Value | New Value |
---|---|---|
Salesforce Case | [] | |
Fix Version/s | 3.1.0.RC1 [ 10337 ] | |
Fix Version/s | 3.1 [ 10312 ] | |
Assignee Priority | P2 | |
Assignee | Ted Goddard [ ted.goddard ] |
Deryk Sinotte
made changes -
Salesforce Case | [] | |
Description |
As per CE-6717, when disabling Ajax for a form: <f:ajax disabled="true"> <h:form id="disabledForm"> <h:panelGrid columns="2"> ... the intent was to prevent the captureSubmit script that we automatically add to forms from being rendered and thus reverting to "stock" form submission (i.e. non-Ajax requests). What I am seeing is that the script is still being rendered but that the form also includes a list of disabled elements which indicates that the bridge should do a "normal" form submission rather than use our form submission code. So the current output looks something like this: <form action="/fajax/disabledForm.jsf" enctype="application/x-www-form-urlencoded" id="disabledForm" method="post" name="disabledForm"> .... <script id="disabledForm:disabledForm_captureSubmit" type="text/javascript">ice.captureSubmit('disabledForm',false);ice.captureEnterKey('disabledForm');</script> .... <input disabled="true" id="disabledForm:ajaxDisabled" type="hidden" value=" disabledForm:cbaDisabledForm disabledForm:cblDisabledForm "> .... </form> The difference is subtle. What we want is for our script not to be rendered so that submits are done in a typical, non-Ajax fashion. What is happening is that our script is being rendered but includes a list of disabled components which indicate the components that should not trigger an Ajax request. The trick is that the final behaviour may look identical (a non-Ajax form submission). So it's possible that this may not actually be a regression. Instead, the issue may not have been detected in testing because we simply saw the non-Ajax request and weren't actively checking for the script being rendered. |
As per <f:ajax disabled="true"> <h:form id="disabledForm"> <h:panelGrid columns="2"> ... the intent was to prevent the captureSubmit script that we automatically add to forms from being rendered and thus reverting to "stock" form submission (i.e. non-Ajax requests). What I am seeing is that the script is still being rendered but that the form also includes a list of disabled elements which indicates that the bridge should do a "normal" form submission rather than use our form submission code. So the current output looks something like this: <form action="/fajax/disabledForm.jsf" enctype="application/x-www-form-urlencoded" id="disabledForm" method="post" name="disabledForm"> .... <script id="disabledForm:disabledForm_captureSubmit" type="text/javascript">ice.captureSubmit('disabledForm',false);ice.captureEnterKey('disabledForm');</script> .... <input disabled="true" id="disabledForm:ajaxDisabled" type="hidden" value=" disabledForm:cbaDisabledForm disabledForm:cblDisabledForm "> .... </form> The difference is subtle. What we want is for our script not to be rendered so that submits are done in a typical, non-Ajax fashion. What is happening is that our script is being rendered but includes a list of disabled components which indicate the components that should not trigger an Ajax request. The trick is that the final behaviour may look identical (a non-Ajax form submission). So it's possible that this may not actually be a regression. Instead, the issue may not have been detected in testing because we simply saw the non-Ajax request and weren't actively checking for the script being rendered. |
Ted Goddard
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 3.1 [ 10312 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |