[ERRO] apertar enter redireciona para outra pagina
Olá galera,
tenho minhas paginas de pesquisa, ao preencher um parâmetro de pesquisa e apertar no botão pesquisar ele faz pesquisa direitinho, mas se eu apertar enter, ele vai pra inserir um novo...
o que pode ser?
CÓDIGOS JAVA SCRIPT
CÓDIGO DOS BOTÕES
DEEM UMA AJUDA AI
tenho minhas paginas de pesquisa, ao preencher um parâmetro de pesquisa e apertar no botão pesquisar ele faz pesquisa direitinho, mas se eu apertar enter, ele vai pra inserir um novo...
o que pode ser?
CÓDIGOS JAVA SCRIPT
function verificaTecla(event, idBtn) { //alert(navigator.appName); //alert('tipo = =' + event.srcElement.nodeName + "="); var src ; if(event.srcElement){ //IE src = event.srcElement.nodeName.toLowerCase(); } else { //FF e outros src = event.target.type; } if (src != 'textarea' && src != 'select-one' && src != 'select' && event.keyCode == 13 ) { jQuery('input[id$=' + idBtn + ']')[0].click(); alert("Teste 2"); return false; }
return true;}
<h:form id="formVI" onkeypress=" try { return verificaTecla(event, 'btnSalvar'); } catch (e) { try { alert('salvar'); return verificaTecla(event, 'btnPesquisar'); } catch (e) { alert('pesquisar'); return true; } }">
CÓDIGO DOS BOTÕES
<ui:define name="botoes"> <a4j:jsFunction name="pesquisar" actionListener="#{mBeanPesquisarCidade.doPesquisar}" reRender="dtbScroller, tbCidades, msgs" /> <ui:include src="/pages/geral/template/paginas/botaoPesquisar.xhtml"> <ui:param name="action" value="pesquisar()" /> <ui:param name="roles" value="VISUALIZAR_CIDADE,CADASTRAR_CIDADE" /> <ui:param name="rerender" value="tbCidades" /> <ui:param name="mBeanPesquisa" value="mBeanPesquisarCidade" /> </ui:include>
<ui:include src="/pages/geral/template/paginas/botaoHtmlNovo.xhtml"> <ui:param name="idBotao" value="btnNovo" /> <ui:param name="label" value="#{msgSistema.btnNovo}" /> <ui:param name="roles" value="CADASTRAR_CIDADE" /> </ui:include> <h:commandButton style="display:none;" value="#{msgSistema.btnNovo}" id="btnNovo" action="#{mBeanManterCidade.novaCidade}" styleClass="botaoNovo" /><ui:define/>DEEM UMA AJUDA AI
Wisley Souza
Curtidas 0
Respostas
Wisley Souza
11/08/2011
nada????
puts em...
puts em...
GOSTEI 0
Davi Costa
11/08/2011
Usa essa função js para pressionar enter chamar a ação do seu botão:
function doSomething(e) {
if(e.keyCode == 13) {
var botao = document.getElementById('btConsultar');
botao.click();
return false;
}
}
att Davi
function doSomething(e) {
if(e.keyCode == 13) {
var botao = document.getElementById('btConsultar');
botao.click();
return false;
}
}
att Davi
GOSTEI 0
Wisley Souza
11/08/2011
nao funcionou nao... eu joggueia funcao no custom.js
e fiz assim no template do facelets pra testar:
nao ta funcionando, no ie, do jeito de antes ele funciona, ja no bendito firefox nao, oque pode ser?
e fiz assim no template do facelets pra testar:
nao ta funcionando, no ie, do jeito de antes ele funciona, ja no bendito firefox nao, oque pode ser?
GOSTEI 0
Wisley Souza
11/08/2011
codigo:
<h:form id="formVI" onkeypress=" doSomething(e);" > <a4j:outputPanel id="msgs"> <p:growl showDetail="false" globalOnly="true" life="5000" /> </a4j:outputPanel> <div class="menu3"> <ui:insert name="botoes" /> </div> <ui:insert name="body"> </ui:insert> </h:form>
<h:form id="formVI" onkeypress=" doSomething(e);" > <a4j:outputPanel id="msgs"> <p:growl showDetail="false" globalOnly="true" life="5000" /> </a4j:outputPanel> <div class="menu3"> <ui:insert name="botoes" /> </div> <ui:insert name="body"> </ui:insert> </h:form>
GOSTEI 0
Davi Costa
11/08/2011
deixa assim no seu h:form
onkeypress="doSomething(event)"
Não coloca no template não, primeira deixa funcionando depois vc pensa nisso. pode ser uma melhor estratégia de desenvolvimento, até o js deixaria na página até estar funcional. Vc ainda está em desenvolvendo depois que tiver ok, vc refatora. Fica melhor p testar debugar, usar o firebug, alterar, corrigir...
att Davi
onkeypress="doSomething(event)"
Não coloca no template não, primeira deixa funcionando depois vc pensa nisso. pode ser uma melhor estratégia de desenvolvimento, até o js deixaria na página até estar funcional. Vc ainda está em desenvolvendo depois que tiver ok, vc refatora. Fica melhor p testar debugar, usar o firebug, alterar, corrigir...
att Davi
GOSTEI 0
Wisley Souza
11/08/2011
mudei conforme, ams a porcaria nao para na pagina, continua redirecionando, o id do boato nao e capturado, mudei assim:
function doSomething(e) { if(e.keyCode == 13) { alert('entra aqui'); return false; } }
mas o return false não faz efeito algum, continua redirecionando, estou utilizando jquery, isso pode está acosionando o problema, pq o return false naofaz efeito?
function doSomething(e) { if(e.keyCode == 13) { alert('entra aqui'); return false; } }
mas o return false não faz efeito algum, continua redirecionando, estou utilizando jquery, isso pode está acosionando o problema, pq o return false naofaz efeito?
GOSTEI 0
Davi Costa
11/08/2011
Não tem problema não, mas se kizer vc pode deixar só return; // sem o false.
Cara qdo vc conseguir pegar o id do seu botão vc vai resolver.
att Davi
Cara qdo vc conseguir pegar o id do seu botão vc vai resolver.
att Davi
GOSTEI 0
Wisley Souza
11/08/2011
Resolvido...
la no codigo do botao coloquei display:none
era isso, ou pelo menos isso funcionou...
GOSTEI 0