0

基本上我想要的很简单,当人们点击时,该字段变得可编辑。

他们更改值后,按键盘上的 Esc/ 或单击外部 ,以保存记录。

我不确定为什么它不起作用。文档似乎不完整......有人知道这是如何工作的吗?文档页面: http: //www.appelsiini.net/projects/jeditable

在这里,我在这里发布我现有的代码供大家查看。

测试.html

<head>

<title></title>

<script src="jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.jeditable.mini.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript" charset="utf-8">

$(function() {

  $(".click").editable("jeditabletest.php", { 
      indicator : "<img src='indicator.gif'>",
      tooltip   : "Click to edit...",
      style  : "inherit"
  });

});

</script>

<style type="text/css">
#sidebar {
  width: 0px;
}

#content {
  width: 770px;
}

.editable input[type=submit] {
  color: #F00;
  font-weight: bold;
}
.editable input[type=button] {
  color: #0F0;
  font-weight: bold;
}

</style>

</head>



<body>      
      <b class="click" style="display: inline">Click me if you dare!</b></> or maybe you should        

</body>
</html>


jeditabletest.php

<?php
echo "hehehe"
?>

有谁知道出了什么问题?我尝试了很多次,它根本不起作用。所有相关的库文件都已经放入。

4

3 回答 3

1

要在用户点击外部时启用提交表单,请执行以下操作:

 $(".editable").editable("http://www.example.com/save.php", {
     onblur : "submit"
 }); 

按下 ESC 时提交通常是一个坏主意,因为 ESC 普遍保留用于取消。如果你真的想这样做,你需要编辑 Jeditable 代码。在 jquery.jeditable.js 中搜索并编辑以下内容:

/* discard changes if pressing esc */
input.keydown(function(e) {
    if (e.keyCode == 27) {
        e.preventDefault();
        reset.apply(form, [settings, self]);
    }
});
于 2009-07-10T11:07:41.870 回答
0

是的:我推荐http://valums.com/edit-in-place/

它使用div'contentEditable属性。在开始使用它之前,您可能需要对其进行研究。

jrh

于 2009-07-09T07:58:00.847 回答
0

我运行了你的代码,它似乎工作正常。我认为它对你不起作用的原因是这个 .html 页面需要从像http://localhost/mypage.html这样的 Web 服务器运行。每当您尝试保存编辑的文本时,jeditable 插件都会对服务器进行 AJAX 调用,并且要使 AJAX 调用正常工作,您需要从服务器运行页面。

希望这可以帮助!

于 2009-07-09T19:31:09.440 回答