jquery - jeditable не работает
-
12-09-2019 - |
Вопрос
в основном то, что я хочу, просто: когда люди нажимают кнопку мыши, поле становится редактируемым.
После того, как они изменят значение, нажмите 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-вызова вам необходимо запустить страницу с сервера.
Надеюсь это поможет!