2016-08-30 86 views
1

私はこのようになりますHTMLの束を持っている - それが必要だとすべてだとここでしかものを示す:jEditableレスポンスの処理の問題

$(function() { 
    $(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", { 
     event  : 'dblclick', 
     dataType : "json", 
     placeholder : '', 
     indicator : 'Saving...', 
     cssclass : 'editable', 
     submit  : 'Save', 
     cancel  : 'Cancel', 
    }); 
}); 
:私はこれを持っているページの先頭に

<tr> 
<td>Name of Organisation:</td> 
<td class="edtext" id="organisation"><?=$aRes[0]['organisation']?></td> 
</tr> 

私はid = "organization"を指定したtdフィールドをダブルクリックして編集することで、データを正常にデータベースに送信できます。

これを扱うPHPのバックエンドビットでは、直接、正常に動作DB関数の後、私が持っている:

header('Content-type: application/json'); 

(データベース更新コードをチョキ - それは正常に動作します)

$report = array(); 
$report['organisation'] = $userInput; 
$report['result'] = "&#10004;"; 
echo json_encode($report); 

同じPHPのヘッダーは次のように設定されています

編集可能な表のセルに入力されて保存されたテキストがデータベースに入力されると、上記はフロントエンドに返されます( 'Hello世界は」例のテキスト)が入力されている:

{"organisation":"Hello World","result":"&#10004;"} 

次に何を編集で開催されたTDセルに表示することは、これは次のとおりですたかっれているものではありません

{"organisation":"Hello World","result":"✔"} 

。ダックは&#10004;のはずですが、私が意味することは、 "Hello World"の部分を表示することです(もちろん引用符なし)。結果はid = "result"でスパンまたはdivに表示されます。 、ページの他の場所。

私は、jEditable callbackオプションを使用する必要がありますが、これを行う方法の例は見つかりませんでした。私はJSとは非常に自信がありませんし、誰かが正しい方向に私を押してくれてありがとうと思います。機能的な例を歓迎します。

ところで私はこのビットを複数のテキストフィールドに使い、編集アクセスが必要な各データセルに別々のJSエントリを持たないようにする必要があります。

答えて

0

私は追加することによって、問題を修正:最終的な結果だったよう

$(".edtext").editable("./editHandler/WRITE.update.php?uaID=<?=$uaID?>", { 
     event  : 'dblclick', 
     dataType : "json", 
     placeholder : '', 
     indicator : 'Saving...', 
     cssclass : 'editable', 
     submit  : 'Save', 
     cancel  : 'Cancel', 
    }); 
}); 

セクション:

$(".edtext").editable("./editHandler/WRITE.<?=$appKey?>.php?uaID=<?=$uaID?>", { 
    callback : function() { 
     location.reload(); 
    }, 
    event  : 'dblclick', 
    placeholder : '', 
    indicator : 'Saving...', 
    cssclass : 'editable', 
    submit  : 'Save', 
    cancel  : 'Cancel', 
}); 

ゴミ見出力ではないので

 callback : function() { 
      location.reload(); 
     }, 

をへDBに実際に保存されているものから来て、成功した投稿の後の新鮮な読み込みは、ページがきれいにde欲しい。

素晴らしい作品ではありませんが、それは動作し、厄介なハッキングに依存しません。