1

这是我第一次使用 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;
      }
   });

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

4

2 回答 2

1

我可能不对,但可能是cancel你打电话的事件onblur。尝试更改

onblur: "cancel"

onblur: "function(e){;}"

这基本上什么都不做。如果我的 jEditable 代码正确,它会在 onblur 事件时将输入值恢复为原始值,然后在单击取消按钮时调用该值。不过,我可能是错的——我现在是凌晨 2 点 :)

于 2010-04-15T00:13:48.573 回答
0

可以在对话框的取消事件中调用模糊事件吗?

Cancel": function() {
                      document.editable_textarea.blur();
                      $(this).dialog("close");

关闭对话框时似乎没有调用 jEditable 的取消事件。

于 2010-04-15T17:11:11.957 回答