0

これは、バグの編集ページにjavascriptを使用して行いました。ここでは、バグステータスの変更を使用してデフォルトのテキストを変更しました。これは、バグステータスの変更時にjavascript関数を呼び出すことによって行われました。現在、バグの入力ページで同様の操作を実行しようとしていますが、問題の種類に基づいてデフォルトのテキストを変更する必要があります。これはカスタムフィールドであるため、テンプレートファイルには表示されません。そのため、問題の種類のドロップダウンメニューの選択タグでonchangeを使用することはできません(私は知っています)。onchange機能を使用してjavascript関数を呼び出す別の方法はありますか?

ありがとう

4

1 に答える 1

0

私が同様のことを達成した方法はfield.html.tmpl、カスタム フィールドの HTML がレンダリングされる場所を変更することです。フィールドをレンダリングしているコード内の場所を見つけることができます (例: [% CASE [constants.FIELD_TYPE_SINGLE_SELECT)。次に、独自のコードを追加して、特定の状況に応じて onchange ハンドラーを含めることができます。

このようなもの (注: Bugzilla 3.2.3):

[% CASE [ constants.FIELD_TYPE_SINGLE_SELECT 
          constants.FIELD_TYPE_MULTI_SELECT ] %]
    <select id="[% field.name FILTER html %]" 
            name="[% field.name FILTER html %]" 
            [% IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]
                [% SET field_size = 5 %]
                [% IF field.legal_values.size < 5 %]
                    [% SET field_size = field.legal_values.size %]
                [% END %]
                size="[% field_size FILTER html %]" multiple="multiple"
            [% END %]

            [%# BEGIN ADDED CODE %]
            [% IF field.name == 'cf_mycustomissuetypefield' %]
                onchange="javascript:updateDescription()"
            [% END %]
            [%# END ADDED CODE %]
            >
于 2010-08-18T12:56:04.873 に答える