書式
editObj = new Ajax.InPlaceEditor(elementName, url, options)
editObj : 編集可能テキストオブジェクト
element : フォーム上のエレメント
url : CGI等のURL
options : オプション【省略可能】
okButton : OKボタンを表示するかどうか(true:する、false:しない)
okText : OKボタンに表示する文字
cancelLink : キャンセルのリンクを表示するかどうか(true:する、false:しない)
cancelText : キャンセルリンクに表示する文字
savingText : 保存中の文字
clickToEditText : クリックで編集できる旨を示すチップヘルプの文字
formId : フォームID
externalControl : 編集モード時に呼び出す処理
rows : 行数
cols : 横の文字数
highlightcolor : ハイライトカラー
highlightendcolor : フェード時のハイライトカラー
savingClassName : savingTextで表示する文字のスタイルシート
formClassName : フォームのクラス名
hoverClassName : 編集可能領域にマウスが重なった時のスタイルシート
loadTextURL : 読み込むテキストのデータのURL
loadingText : 読み込み中を示す文字
onComplete : 正常に編集が完了した場合の処理
onFailure : 正常に処理できなかった場合の処理
callback : サーバーに送信する前に呼び出す処理
submitOnBlur : フォーカスが外れた時に送信するかどうかのフラグ(true : する、false : しない)
ajaxOptions : 通信オプション(prototype.jsのAjax通信と同じオプション)
説明
編集可能なテキストを設定するにはAjax.InPlaceEditor()を使います。最初のパラメータにはフォーム上のエレメントを指定します。2番目のパラメータはURLでデータを保存する、結果を返すためのCGIプログラム等を指定します。3番目のパラメータはオプションで各種指定を行うことができます。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="main.css" type="text/css" media="all">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js"></script>
<script type="text/javascript"><!--
window.onload = function(){
new Ajax.InPlaceEditor("editline", "./setData.cgi", {
okText : "保存",
cancelText : "キャンセル",
savingText : "保存中です...",
clickToEditText : "クリックすると編集できます",
rows:3,
cols:20,
onFailure : function(){ alert("エラーで保存できません"); }
});
}
// --></script>
</head>
<body>
<h1>文字編集</h1>
<form id="editForm">
<div id="editline">クリックすると編集できます。</div>
</form>
</body>
</html>