这是我第一次使用JS,所以我真的不知道自己在做什么。

我有一个包含数据的表,并使用jEditable允许用户编辑数据并将其发布到我的php脚本中。当用户点击“保存”时,它会使用来自php脚本的数据打开jQuery UI,并且看起来工作正常,但是,如果用户按下Cancel或Esc关闭jQuery UI对话框,则它们会返回页面,但是他们尝试编辑的单元格现在完全空了。我如何重新填充细胞?

谢谢!

$(".editable_textarea").editable("/path/to/my/script.php", {
    indicator : "<img src='/images/indicator.gif'>",
    type   : 'textarea',
    submitdata: { _method: "post", uri: "<?php echo $this->uri->segment(3); ?>" },
    select : false,
    submit : 'Save',
    cancel : 'Cancel',
    tooltip   : "Click to edit...",
    cssclass : "editable",
    onblur: "cancel",
    cssclass: "edit_destination",
    callback:
       function(value, settings) {
          $(this).dialog({
              autoOpen: true,
              width: 400,
              modal: true,
              position: "center",
              resizable: false,
              draggable: false,
              title: "Pending Changes",
              buttons: {
                  "Cancel": function() {
                      $(this).dialog("close"); },
                  "Confirm Changes": function() {
                      document.findSameDestination.submit(); }
              }

          });

          $('form#findSameDestination').submit(function(){
              $(this).dialog('open');
              return false;
          });

        $(this).editable("disable");
   },
   data:
      function(value, settings) {
          var retval = value.replace(/<br[\s\/]?>/gi, '\n');
          retval = retval.replace(/(<([^>]+)>)/gi, '');
          return retval;
      }
   });


仍然不知道如何解决这个问题,我没有足够的积分来提供赏金...

最佳答案

我可能不太正确,但可能是您正在使用cancel调用的onblur事件。尝试更改

onblur: "cancel"




onblur: "function(e){;}"


基本上什么也做不了。如果我正确使用了jEditable代码,则onblur事件会将输入值还原为原始值,而在单击“取消”按钮时又将调用该值。不过,我可能错了-凌晨2点在我的位置:)

10-07 14:29