2010-11-02 6 views
2

J'utilise jeditable mais je veux utiliser une fonction pour enregistrer les données sur le client. Cela fonctionne bien, mais je veux aussi utiliser une fonction pour gérer l'événement onblur. Mon code est le suivant:jeditable fonction onblur

$('#answerlist li').editable(function(value, settings) { 
      OnAnswerTextEdit(this, value); 
      return (value); 
     }, { onblur: function(value) { 
      OnAnswerTextEdit(this, value); 
     } 
     }); 

Il fonctionne en quelque sorte, mais la fenêtre d'édition jeditable ne se ferme pas après l'événement onblur. Est-ce que quelqu'un sait comment je peux fermer la session d'édition sur la perte de focus, ou en quelque sorte saisir mes modifications via une fonction lorsque la zone de texte d'édition perd le focus. Je ne veux pas soumettre un formulaire à tout moment - je veux garder tous les changements locaux. Merci beaucoup.

Répondre

5

j'ai utilisé ce qui suit pour résoudre le problème (remise à zéro utilisé() pour fermer l'éditeur, mais appliqué les modifications « manuellement » en définissant le html:

$('#answerlist li').editable(function(value, settings) { 
      OnAnswerTextEdit(this, value); 
      return (value); 
     } 
     , { onblur: function(value) { 
      OnAnswerTextEdit(this, value); 
      this.reset(value); 
      $(this).html(value); 
      return (value); } 
     }); 
+0

Cela permet de contourner la validation d'entrée pour « onsubmit ». toute idée, comment l'appliquer – Nayn

+0

'onsubmit: fonction (réglages, td) { \t entrée var = JQ (td) .Find ('entrée'); \t JQ (this) .validate ({ \t \t règles. : { \t \t \t 'valeur': { \t \t \t \t chiffres: true \t \t \t}} \t \t, \t \t messages: { \t \t \t 'actionItemEntity.name': { \t \t \t nombre \t: 'Seuls les nombres sont autorisés' \t \t \t} \t \t} \t}); \t console.log ("this:% o", this); \t return (jq (this) .valid()); }, ' – Nayn