Вопрос

в основном то, что я хочу, просто: когда люди нажимают кнопку мыши, поле становится редактируемым.

После того, как они изменят значение, нажмите 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"
?>

кто-нибудь знает, что случилось?Я столько раз пробовал, но ничего не получалось.Все связанные файлы библиотеки уже вставлены.

Это было полезно?

Решение

Чтобы включить отправку формы, когда пользователь нажимает кнопку снаружи, выполните следующие действия:

 $(".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]);
    }
});

Другие советы

да:Я рекомендую http://valums.com/edit-in-place/

Оно использует div's contentEditable свойство.Возможно, вы захотите изучить это, прежде чем начать его использовать.

джрх

Я запустил ваш код, и он, похоже, работает нормально.Я думаю, причина, по которой у вас это не работает, заключается в том, что эту страницу .html необходимо запускать с веб-сервера, например http://localhost/mypage.html.Плагин jeditable отправляет AJAX-вызов на сервер всякий раз, когда вы пытаетесь сохранить отредактированный текст, и для работы AJAX-вызова вам необходимо запустить страницу с сервера.

Надеюсь это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top