編集可能なテキストを設定する

書式

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>