Pergunta

Estou usando o plug -in JQGrid e quero adicionar o evento OnkeyPress a cada campo de formulário de edição.

Este código funciona para o IE8, mas falha no FF e IE7

 {name: 'name', index: 'name', width: 200, editable: true, 
     sortable: false, search: true, editoptions: { readonly: false, size: 32, 
     'onKeyPress': 'if($("#cbLanguage").attr("checked"))togeo();' }, 
     editrules: { required: true }}

Como modificar isso para fazê -lo funcionar no IE7 e no FF? Obrigado.

Foi útil?

Solução

Encontrei a solução! Para atribuir o evento ao campo, preciso adicionar seguintes às editoções:

dataEvents:[{type:'keypress', fn: function(e) {
if($("#cbLanguage").attr("checked"))togeo(); }}]

Outras dicas

Parabéns a Karim79 por detectar a questão do evento.

Além disso, você será melhor usar uma função em vez de uma string implícita como uma função. Fácil de ler/manter.

name: 'name', index: 'name', width: 200, editable: true, 
     sortable: false, search: true, editoptions: { readonly: false, size: 32, 
     'onKeyUp': keyUpFn }, 
     editrules: { required: true }}



function keyUpFn (){

 $("#cbLanguage").is(':checked') ){
   togeo();
 }

}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top