diff --git a/jquery.jeditable.js b/jquery.jeditable.js index eb8a911..4d4dd26 100644 --- a/jquery.jeditable.js +++ b/jquery.jeditable.js @@ -171,11 +171,12 @@ } self.editing = true; - self.revert = $(self).html(); + self.revert = $(self).text(); $(self).html(''); /* Create the form object. */ var form = $('
'); + form[0].isReset = false; /* Apply css or style or both. */ if (settings.cssclass) { @@ -277,7 +278,9 @@ input.blur(function(e) { /* Prevent double submit if submit was clicked. */ t = setTimeout(function() { - form.submit(); + if (!form[0].isReset) { + form.submit(); + } }, 200); }); } else if ($.isFunction(settings.onblur)) { @@ -309,7 +312,7 @@ /* Check if given target is function */ if ($.isFunction(settings.target)) { var str = settings.target.apply(self, [input.val(), settings]); - $(self).html(str); + $(self).text(str); self.editing = false; callback.apply(self, [self.innerHTML, settings]); /* TODO: this is not dry */ @@ -378,7 +381,8 @@ if (this.editing) { /* Before reset hook, if it returns false abort reseting. */ if (false !== onreset.apply(form, [settings, self])) { - $(self).html(self.revert); + $("form", self)[0].isReset = true; + $(self).text(self.revert); self.editing = false; if (!$.trim($(self).html())) { $(self).html(settings.placeholder); @@ -457,6 +461,9 @@ /* https://bugzilla.mozilla.org/show_bug.cgi?id=236791 */ //input[0].setAttribute('autocomplete','off'); input.attr('autocomplete','off'); + if (settings.maxlength) { + input.attr('maxlength', settings.maxlength); + } $(this).append(input); return(input); }