2012-01-25 10 views
1

フォーム送信時に関数を実行したいのですが、私が$form->js('submitを使用している場合、配列( 'function()) `は送信ボタンをクリックしたときにのみ動作しますが、Enterでは動作しません。

同じ問題を抱えているだろう人のために$this-js()->submit('function(){alert('sth')})

+0

> JS( '提出') - >大学() - >アラート( 'フォーム提出'); ? – romaninsh

答えて

1

ようAT4のPHP側からjqueryの関数内のコードを挿入する方法はあります。 atk4ではフォームフィールドの1つでeneterを押すとatk4関数submitForm()が呼び出され、form.submit()は呼び出されません。それで、何かをform.submit()に縛ることは、enter pressでは機能しません。それ

$form->js(true)->find('input')->keypress("function(e) { 
    if ($(this).is('.ui-autocomplete-input')) return true; 
    if (e.keyCode==13) { 
     $(this).trigger('change'); 
     ".$this->owner->js()->submit()." 
     ev.stopImmediatePropagation(); 
}); 

を追加することによって解決して、フォームで何かをバインドする際に、提出を追加することができます:あなたがます$ form-を試してみました

$form->js(true)->submit($form->js(false,"function(ev){}));` 
関連する問題