a4j não funciona com prependId="false"

Boa tarde pessoal,

Coloquei em meu <h:form> a propriedade prependId=“false” para conseguir pegar os id’s de meus componentes jsf.
Consegui, porém não consigo mais utilizar o a4j…
Alguém sabe como conciliar os dois.
Estou utilizando richFaces, jsf…

Aguardo uma resposta…

Valeu galera…
Abs,

Olá.
Posta aqui teu código pra gente dar uma olhada.

Bom dia pessoal, tudo bem ???!!!
Então, meu problema é o seguinte :
Preciso fazer com que meus campos, componentes jsf, se alterem conforme eu clico no enter.
Gostaria de posicionar estes campos da meaneira que eu quisesse.
Daí, gerei um js para isto como você verá no código.
Para que este js entendesse bem o script, tive de colocar um atributo do h:form conhecido como prependId=“false”…

Ótimo, meu js funcionou do jeito que eu queria…
Porém, meu a4j nunca é mais acionado…
Será que consigo utilizá-los ao mesmo tempo…
Se vocês pudessem me ajudar ficaria bem grato…

Posto ox código :

[quote]<%@ taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@ taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich”%>

	<script type="text/javascript">
		<!-- Begin
			nextfield = "codeProductTrue"; // id do primeiro campo do site
			netscape = "";
			ver = navigator.appVersion; len = ver.length;
			for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
			   netscape = (ver.charAt(iln+1).toUpperCase() != "C");

			function keyDown(DnEvents) {
  					// ve quando e o netscape ou IE
  					k = (netscape) ? DnEvents.which : window.event.keyCode;
				if (k == 13) { // preciona tecla enter
  						if (nextfield == 'done') {
     						alert("Apertada a o botão de envio formulário !!!");
     						return false;
     						//return true; // envia quando termina os campos
  						} else {
     						// se existem mais campos vai para o proximo
     			     			   eval('document.salesProd.' + nextfield + '.focus()');
          					   return false;
  						}
				}
			}

			document.onkeydown = keyDown; // work together to analyze keystrokes
			if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);
		// End -->
	</script>
	
	 
</head>
<body>
 		<f:view>	
		<f:loadBundle basename="br.com.chopperia.i18n.sales" var="prd" /> 
  				<h:form id="salesProd" prependId="false">	
	      				<rich:panel id="panelId">
                  				<f:facet name="header">
                      				<h:outputText value="TESTE"/>
                  				</f:facet>
                  				<br />
                  				<table>     
                  					<tr>
                  						<td >
                  							<h:outputText id="codigo" value="Código" />
                  						</td>
                  						<td>
                							<h:inputText id="codeProductTrue" onkeypress="pegarEnter();" onfocus="nextfield ='inumber';" value="#{productBean.productCode}" >
                								<a4j:support id="a4j05" event="onblur" ajaxSingle="true" oncomplete="if(#{productBean.verify == true}) #{rich:component('notProduct')}.show();" reRender="iname,iprice,inumber" actionListener="#{productBean.carregaCamposCodigo}" />
                							</h:inputText>	
                  						</td>
							<td>
                          					<rich:spacer width="10" />
                          						<a4j:commandButton id="adiction" oncomplete="if(#{productBean.message != null}) #{rich:component('insuficientProduct')}.show();" value="#{prd.adiction}" actionListener="#{productBean.calculateValue}" reRender="ototalvalue,listOrder,oname,oquantity,oprice">
                          					</a4j:commandButton>
                  					</tr>
        
					</table>	     
				</rich:panel>
			<h:form>
	</f:view>
</body>
[/quote]

Aguardarei uma resposta de vocês…
Valeu pessoal…
Abs,

Já tentou trocar o h:form por a4j:form ??

Pode ser…

Não havia pensado nesta saída…
Poderia ser uma solução bem simples!!!
Vou fazer isto daqui a pouco, e já lhe digo!!!

Valeuzasso amigo!!!

Abs,

Boa noite Pessoal,

Bom tentando passar o form para o a4j, também não adiantou!!!
Alguém tem mais alguma idéia!!!

Valeu…
Abs,

Pessoal,

Fico agradecido pela atenção…
Passo aqui a solução encontrada para este problema :

No .js, passar na variável nextfield o id do componente que vem concatenado com o id do meu formulário por causa do JSF.
Então ficaria assim : nextfield = ‘salesProd:codeProductTrue’;

Ótimo!!!
Agora ao final do js deve-se arrancar o eval e fazer da seguinte maneira :
document.getElementById(nextfield).focus();

Agora quando quise passar de um campo para outro utilizar este evento :
onfocus=“nextfield=‘id_componete:id_formulário’”…

PRONTO!!!

Solucionado este problema…

Valeu galera…
Abs,