Javascript onreset后的表回调

Javascript onreset后的表回调,javascript,jquery,jeditable,Javascript,Jquery,Jeditable,我有一个由多行组成的字符串,用换行符分隔,它在客户端用javascript解析成一个层次结构表格用于编辑列表,用户看到的是带换行符的原始文本(从loadurlparam发送),而不是解析后的HTML。e、 g 原始文本/字符串以及编辑时向用户显示的内容: line1 line2 line3 line4 <ul> <li>line 1</li> <li>line 2</li> <li>line 3</

我有一个由多行组成的字符串,用换行符分隔,它在客户端用javascript解析成一个
层次结构<代码>表格用于编辑列表,用户看到的是带换行符的原始文本(从
loadurl
param发送),而不是解析后的HTML。e、 g

原始文本/字符串以及编辑时向用户显示的内容:

line1
line2
line3
line4
<ul>
   <li>line 1</li>
   <li>line 2</li>
   <li>line 3</li>
   <li>line 4</li>
</ul>
在页面加载和编辑后解析为以下内容。用户在查看(非编辑)时看到的内容:

line1
line2
line3
line4
<ul>
   <li>line 1</li>
   <li>line 2</li>
   <li>line 3</li>
   <li>line 4</li>
</ul>
当用户提交编辑时,它们会很好地传递到
jeditableSubmitChange
函数,最重要的是,我可以修改发送回包含元素的内容,并提供与加载页面时类似的解析。这也很有效

问题是当用户取消编辑时
Jeditable
返回未经html解析的字符串,加载后我找不到修改/解析它的方法。我只得到原始的、未修改的字符串

研究让我相信,
onreset
参数正是我所需要的。从我的尝试和错误(以及研究,例如)来看,它看起来像是在原始内容加载回包含元素之前调用的,这意味着我不能调用它来修改刚刚加载回包含元素的内容(它只会告诉我它是一个表单-在内容返回之前它是什么)。我也看不到修改返回内容的方法。我得到了一个参数,它是什么(
原始的
),但返回或不返回数据似乎没有任何效果:

function jeditableCancel(settings, original) {

    console.log("jeditable form just cancelled. Function called and confirmed");

    // return "Does this data appear?"; // Didn't appear
    // leaving out return has no effect. The parent container is still populated with the original content.

}

是否有办法截获正在填充回父容器中的实际数据,并在填充之前对其进行修改(比如我可以进行提交,我可以控制返回的数据),或者是否有一个回调,我可以在页面完成加载(取消时)时解析页面上的数据?医生们似乎也没有建议。我从问题中省略了解析函数,因为它们感觉不相关。它们工作正常,问题不在于我如何解析,而在于它能够在上述情况下修改数据。

事实证明,这在现有版本中是不可能的,而且可能永远不会,因为它的用途太小


源代码是可用的,但用jquery从头开始创建我自己的观点(虽然这里太长,与回答问题无关)比尝试和调整jeditable提供的内容要少。我对一些其他功能没有太大的依赖性,而且它不像你想象的那样涉及到重建核心功能。

我遇到了与你一样的问题。经过多次尝试,刚刚找到解决方案:

             data    : function(string) {                    
                td_object = $(this);
                return string;
             },
             onreset: function(settings, original) {

                td_object.html('whaever');
                return false;
             },

return false是防止替换强制内容的关键。

很高兴知道,非常感谢。我还没有测试过它,因为我从头开始编写的版本(见我的原始答案)只会让我在时间和代码长度方面更简单。如果有人将jeditable用于其主要案例,它仍然是一个很好的解决方案。