jquery - jedery не работает - PullRequest
0 голосов
/ 09 июля 2009

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

После того, как они изменили значение, нажмите Esc на клавиатуре / или щелкните снаружи, чтобы сохранить запись.

Я не уверен, почему это не работает. Документация кажется неполной ... Кто-нибудь получил представление о том, как это работает? Страница документации: http://www.appelsiini.net/projects/jeditable

Здесь я выкладываю свой существующий код, чтобы парни могли его просмотреть.

testing.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"
?>

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

Ответы [ 3 ]

1 голос
/ 10 июля 2009

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

 $(".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]);
    }
});
0 голосов
/ 09 июля 2009

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

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

0 голосов
/ 09 июля 2009

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

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

JRH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...