I like it, but for simplicity's sake if the x:script is going to replace matching id strings, then I don't see the need for having the for and the id. Why not just the for like so:

<x:script language="javascript" type="text/javascript">
<x:scriptParameter for="myInputText" />
function disableMyInputText()
{
 var input = document.getElementById('myInputText');
 input.disabled=true;
}
</x:script>



Travis

Heath Borders wrote:

Here is the JSP and rendering hints I was thinking about for the
<x:script /> tag.

JSP Example:

<h:inputText id="myInputText" value="#{bean.text}" />
<x:script language="javascript" type="text/javascript">
<x:scriptParameter for="myInputText" id="p_myInputText" />
function disableMyInputText()
{
 var input = document.getElementById('p_myInputText');
 input.disabled=true;
}
</x:script>


The language and type attributes would be optional, and default to "javascript" and "text/javascript" respectively.

The scriptParameter would use the UIComponent.findComponent(String)
method to find a component within the current namingContainer with the
given id.  The <x:script> tag would then search its bodyContent for
any strings matching the <x:scriptParameter> id's and replace them
with the clientId of the UIComponent from the <x:scriptParameter> for
attribute.

This would be a simple way to include javascript (and appropriate code
commenting and <noscript> tags for non-javascript browsers) in JSF
code.

I'd appreciate any input on this design.




-- Travis Reeder Ecommstats Web Analytics www.ecommstats.com



Reply via email to