title: naming of JSF components in PrimeFaces
body: <p>I have this code that works although I would expect it to fail. The component to receive focus is the <code>&lt;p:inputText&gt;</code> so I would expect its name to be <code>custForm:panelGrid:name-id</code> (to reflect the embedding of the <code>&lt;p:inputText&gt;</code> component within the <code>&lt;p:panelGrid&gt;</code> component). Yet the only naming that works is <code>custForm:name-id</code>. It appears that there are some PrimeFaces components which do not "insert" their <strong>id</strong> in the qualified name. If so, where is that documented?</p>
  
  <pre><code>&lt;h:form id="custForm" styleClass="jsfcrud_list_form"&gt;
  &lt;script type="text/javascript"&gt;
    function primeFacesId()
    {
          var original = 'custForm:name-id';
          var idToSetFocus = PrimeFaces.escapeClientId(original);
          $(idToSetFocus).focus();
    }
  &lt;/script&gt;
  &lt;script&gt;
      jQuery(document).ready(function() {
          primeFacesId();
      });
  &lt;/script&gt;
  &lt;p:panelGrid columns="10" style="width: 98%;margin-left: 1%;margin-right: 1%;" id="panelGrid"&gt;
      &lt;h:outputLabel for="name" value="Name:" /&gt;
      &lt;p:inputText   id="name-id" value="#{customerLController.nameDBConstraint}" label="name" /&gt;
          (...)
  </code></pre>
  
  <p><em>[I am behind corporate firewall and due to the "SO requires external JavaScript from another domain" I won't be able to accept any answers for a couple of days]</em></p>