You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-issues@incubator.apache.org by "Peter Büttner (JIRA)" <ad...@incubator.apache.org> on 2007/04/18 05:53:15 UTC
[jira] Created: (ADFFACES-456) javasript in Core.js is broken, app
stops working if components have special names
javasript in Core.js is broken, app stops working if components have special names
----------------------------------------------------------------------------------
Key: ADFFACES-456
URL: https://issues.apache.org/jira/browse/ADFFACES-456
Project: MyFaces ADF-Faces
Issue Type: Bug
Environment: adf
Reporter: Peter Büttner
I found a strange bug in our application:
In some 'very' special cases the app doesn't accepts any user interaction.
The browser (IE6, Mozilla 1.7.x) reports javascript errors.
e.g. in formSubmit, still found in the (newest?) version:
<http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js?view=log>
Reason is something like
callAFunction(form.name)
where form is the real and correct html-form element.
But: if one has a component with e.g. <input id='name' name='name' ...> those
browsers doesn't calculate "form.name" to the form-nodes attribute 'name',
but to the (html) input element!
This also occures on components with id='target' in another core function.
Other attributes of a <form> maybe (from selfhtml.org)
action,accept,accept-charset,enctype,method,name,onreset,onsubmit,target,class,id,style,title
I think it is not a good solution to let programmers avoid component id's
like 'name, target, action, title, method' since that are common names
of input data components. The attributes doesn't make problems if the javascript
code don't use those names like 'form.attribute' (form.name and form.target are
used, but i haven't searched for the others)
a solution maybe to use the dom functions and wrap them for easy usage:
function getFormName(form){return form.getAttribute('name');}
function getFormTarget(form){return form.getAttribute('target');}
And probably tell other js developers about this pitfall.
As a quick solution for our application i renamed those components.
Well, i really wondered how such a bug lives for years:-) But that seems to happen.
Greetings
Peter Büttner
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.