フォームのラベルの代わりにプレースホルダ

すべてのCiviEventフォームとContributionフォームにラベルの代わりにプレースホルダを使用したいと考えています。これを行う最善の方法は何ですか?
DrupalでCiviCRMを使用しています。

私たちはこのように見えます:

enter image description here

これの代わりに:

enter image description here

私たちはラベルを隠し、次のJQueryをMain.extra.tplファイルで使用してプレースホルダテキストを設定しています。ただし、CiviCRMをアップグレードするたびにこのコードが破損します。私は現在、Civi
4.6.14から5.0.0へのアップグレードに取り組んでおり、これを実行するためのより良い方法が必要であると考えています。
Civiでは、ユーザーがラベルの代わりにプレースホルダーを使用することを簡単に選択できるようになるでしょうか?

// Hide all labels
cj('.label').hide();
cj('#payment_information fieldset:first legend').hide();
cj('input[name$="billing_middle_name"]').hide();

// If IE, then setting placeholder on Gift Amount field causes payment block not to appear
if (detectIE()) {
    //alert('IE ' + detectIE());

   //unhide label for Gift Amount
    cj('.other_amount-section .label').show();

    cj('#billing-payment-block input[type=text].crm-form-text, .custom_post_profile-group input[type=text].crm-form-text').each(function() {
        var label = cj('label[for="'+cj(this).attr('id')+'"]').hide();//Hide all labels
        cj(this).attr('placeholder', cj.trim(label.text())).attr('title', cj.trim(label.text()).replace('*', ''));
    });
    cj('input[type=text].crm-form-text').each(function() {
        var label = cj('label[for="'+cj(this).attr('id')+'"]');//Hide all labels
        cj(this).attr('title', cj.trim(label.text()).replace('*', ''));
    });

} else {

    cj('input[type=text].crm-form-text').each(function() {
        var label = cj('label[for="'+cj(this).attr('id')+'"]').hide();//Hide all labels
        cj(this).attr('placeholder', cj.trim(label.text())).attr('title', cj.trim(label.text()).replace('*', ''));
    });

}

// Set Placeholder text and Tooltip to label defined in CiviCRM -- for all select2 menus
cj('div.select2-container').each(function() {
    var idselect = '#' + cj(this).attr('id');
    var label = cj(idselect + ' > label.select2-offscreen');
    var placeholder = cj.trim(label.text());
    var tooltip = placeholder.replace('*', '');
    cj(idselect + ' .select2-chosen').text(placeholder).attr('title', tooltip);
});

// Unhide all radio labels
cj('input[type=radio]').each(function() {
    cj(this).parent().parent().children('.label').show();
});

私は本当に誰もが与えることができる任意の洞察に感謝します。 ありがとう、マラキ

ベストアンサー
申し訳ありませんが、適切な答えはありません

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です