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
さんの contentEditable
財産。使い始める前に調べてみるといいかもしれません。
ジュニア
コードを実行してみたところ、問題なく動作しているようでした。それが機能しない理由は、この .html ページを次のような Web サーバーから実行する必要があるためだと思います。 http://localhost/mypage.html。jeditable プラグインは、編集されたテキストを保存しようとするたびにサーバーに対して AJAX 呼び出しを行います。AJAX 呼び出しが機能するには、サーバーからページを実行する必要があります。
お役に立てれば!