I have a login composite component that looks like this:<br><br>&lt;composite:interface&gt;...&lt;/composite:interface&gt;<br>...<br>&lt;composite:implementation&gt;<br>              &lt;script type=&quot;text/javascript&quot;&gt; <br>
                function checkForm(form) {<br>                  var name = form[&#39;#{cc.clientId}:name&#39;].value;<br>                  var pwd = form[&#39;#{cc.clientId}:password&#39;].value;<br>                        <br>
                  if (name == &quot;&quot; || pwd == &quot;&quot;) {<br>                    alert(&quot;Please enter name and password.&quot;);<br>                    return false;<br>                  }<br>                  return true;<br>
                }<br>            &lt;/script&gt;<br>  ...<br>&lt;/composite:implementation&gt;<br><br>I have components with &quot;name&quot; and &quot;password&quot; component ids in a form in the ... part of the implementation. That works fine.<br>
<br>However, if I pull the JS out into its own file, and do this:<br><br>&lt;composite:interface&gt;...&lt;/composite:interface&gt;<br>
..<br>
&lt;composite:implementation&gt;<br>  &lt;h:outputScript library=&quot;components/login&quot; name=&quot;login.js&quot;/&gt;<br>  ...<br>
&lt;/composite:implementation&gt;<br><br>h:outputScript puts the JS in the page, but the JS no longer works because the expression cc.clientId evaluates to an empty string.<br><br>That&#39;s a bug, is it not?<br><br><br>
david<br>
<br>
<br><br>