私はscriptaculousライブラリを使用して作業しています。ただし、プロトタイプライブラリにJSONライブラリを含めることでいくつかの問題に直面しています。toJSONSTringおよびparseJSONSTRINGメソッドをすべてのオブジェクトに自動的に追加し、率直に言って、これが場所に大混乱を引き起こしています。Ajax Updater関数を使用できないようで、渡したオプションオブジェクトにアタッチされているこのtoJSONSTringメソッドが原因であると思われます。
オブジェクトに追加された関数の設定を解除するか、少なくとも何らかの方法で削除する方法はありますか?
編集:::
実際、私はajaxリクエストを行おうとしていますが、
Ajax.Updater = Class.create(Ajax.Request,....
プロトタイプライブラリの一部。AJAXリクエストを実行して投稿することになっている部分では、特に次の場合には実行されません。
$super(url, options);
正確には、このURLでこの並べ替え可能で編集可能なテーブルグリッドを使用しています:http: //cloud.millstream.com.au/millstream.com.au/upload/code/tablekit/index.html
基本的には、テーブルセルをクリックして編集し、[OK]ボタンを押して確認します。ボタンをクリックすると、ajaxリクエストが行われます。
テーブルの編集可能な機能は、送信関数で次のようにAjaxアップデーターを呼び出します。
submit : function(cell, form) {
var op = this.options;
form = form ? form : cell.down('form');
var head = $(TableKit.getHeaderCells(null, cell)[TableKit.getCellIndex(cell)]);
var row = cell.up('tr');
var table = cell.up('table');
var ss = '&row=' + (TableKit.getRowIndex(row)+1) + '&cell=' + (TableKit.getCellIndex(cell)+1) + '&id=' + row.id + '&field=' + head.id + '&' + Form.serialize(form);
this.ajax = new Ajax.Updater(cell, op.ajaxURI || TableKit.option('editAjaxURI', table.id)[0], Object.extend(op.ajaxOptions || TableKit.option('editAjaxOptions', table.id)[0], {
postBody : ss,
onComplete : function() {
var data = TableKit.getCellData(cell);
data.active = false;
data.refresh = true; // mark cell cache for refreshing, in case cell contents has changed and sorting is applied
}
}));
},
問題は、リクエストが行われず、OKボタンを押し続けても無駄になることです。
編集::::::::::::::::
私はまだここで困惑しています-私は自分でAjax.Updater関数を呼び出しようとしましたが、それはまったく機能しません。このような機能は、突然、公式には役に立たなくなった。私はあなたが言った変更を加えましたが、まったく役に立ちません:(率直に言って私はここでオプションを使い果たしています-別のアイデアはこのテーブルキットを捨てて、それがうまくいくことを期待して同様の機能を持つ何かを探すことです!