0

次のようにドキュメントの準備ができているで定義されたデータテーブルがあります

$(document).ready(function() {
var oTable =  $('#systemgoals').dataTable({});

フォームのあるダイアログと次の機能を持つボタンがあります

 buttons: {
         "Add System Goal": function() {
             var formfilled = true;
             $("form#add_systemgoal :text, form#add_systemgoal :file, form#add_systemgoal :checkbox, form#add_systemgoal select, form#add_systemgoal textarea").each(function() {
                   if($(this).val() === "")

                         formfilled = false;
                });
                if(formfilled === true){
                    $('form#add_systemgoal .error').remove();
             var formdata = $('form#add_systemgoal').serialize();
             $.ajaxSetup({async: false});  
             $.ajax({     
                 type: "POST",
                 url: '/admin/systemgoals/systemgoalupdate?format=html',
                 data: formdata,
                 success: function (data) {
                     var obj = $.parseJSON(data);
                     if(obj.success){
                         $(oTable).dataTable().fnAddData( [
                                                                obj.inserted.goal_id,
                                                                obj.inserted.value,
                                                                obj.inserted.status,
                                                                obj.inserted.points_per_action,
                                                                obj.inserted.created,
                                                                obj.inserted.due,
                                                                obj.inserted.expires ]);                                                        

                         }                       
                    }
             });
                }

ajax は問題ありませんが、フォームは正しい値を応答して投稿しますが、fnAddData はエラーを返します

ReferenceError: oTable が定義されていません

アドバイスをいただければ幸いです

ありがとうございました

4

1 に答える 1