Question

J'utilise le plugin jqGrid et je souhaite ajouter un événement onKeyPress à chaque champ du formulaire de modification.

Ce code fonctionne pour IE8, mais échoue dans FF et 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 }}

Comment modifier cela pour le faire fonctionner dans IE7 et FF? Merci.

Était-ce utile?

La solution

Trouvé la solution! Afin d’affecter un événement à un champ, j’ai besoin d’ajouter ce qui suit à editoptions:

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

Autres conseils

Félicitations à karim79 pour avoir repéré le problème de l'événement.

De plus, vous feriez mieux d'utiliser une fonction plutôt qu'une chaîne implicite en tant que fonction. Facile à lire / maintenir.

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();
 }

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top