ATK4 4.1.1を使用していて、ページにボタンを追加しました。このボタンを押すとデータベーステーブルの更新がトリガーされるようにしたいので、ページにこのようなコードを作成しました。
$f=$p->add('Form',null,null,array('form_empty'))->setFormClass('horizontal bottom-padded');
$b1=$f->add('Button')->set('Finished');
$b1->js("click")->univ()->ajaxec($this->api->url(null, array("s"=>"D")));
$b1->js('click', $b1->js()->load(
$this->api->url(null,array('s'=>'D'))
) );
.. .. .. ..
if (isset($_GET['s'])) {
$ss=$this->add('Model_SprintStatus')
->loadBy(array('member_id'=>$p->api->auth->get('id')));
$new_status=$_GET['s'];
$ss->set('status',$new_status);
$ss->update();
}
このページにアクセスすると「OK」と表示されますが、ボタンをクリックすると「メソッド」というエラーが表示されます
BaseException
Method is not defined for this object
Additional information:
method: url
arguments: Array ( [0] => [1] => Array ( [s] => D )
次のagiletoolkit.orgセクションのAnatomyofthereloadという例を使用しました。このエラーが発生したので、例を取り上げ、例と同じコードを使用して新しいページを作成しました。そのページからも同様のエラーが発生します。
BaseException
Method is not defined for this object
Additional information:
method: url
arguments: Array ( [0] => [1] => Array ( [side] => 1 [myajax] => 1 ) )
上記のajaxecラインを試すことに加えて、私は次のことも試しました
$b1->js('click', $b1->js()->load( $this->api->url(null,array('s'=>'D'))));
と
$b1->js('click', $b1->js()->atk4_load( $this->api->url(null,array('s'=>'D'))));
しかし、同じエラーで戻ってきます。
何かを見逃したか、ATK4 4.1.1と4.2の間の変更である可能性がありますが、期限を守ろうとしているため、現時点ではアップグレードする立場にないため、この更新をATK4.1.1のボタンクリック
ありがとう