スマートフォン表示でのjavascriptでのスタイル適用

お世話になります。

フォームブリッジのカスタマイズに関して2点ご教示いただけないでしょうか。

1.placeholderをjavascript上から適用したいのですが、文字列1行の項目には適用されましたが、ドロップダウンの項目には適用されないようでした。

ドロップダウンへのplaceholderの設定方法はございますでしょうか?

2.項目個別のスタイルをjavascript上から適用したいのですが、PCにて表示した際は適用されましたが、スマートフォン表示時には適用されないようでした。

スマートフォン表示へのスタイル設定方法はございますでしょうか?

テストしたコードは以下になります。

ご存じの方がいらっしゃいましたらご教示いただけないでしょうか。

よろしくお願いいたします。

(function () {

    "use strict";

    fb.events.form.created = [function (state) {
        getField(state, 'sei').attributes.placeholder = '姓';   // ← 文字列1行(placeholder表示される)
        getField(state, 'nen').attributes.placeholder = '西暦';  // ←ドロップダウン(placeholder表示されない。選択してくださいになってしまう。)

        getField(state, 'kojinjohoHogo').style = {  // ←ラベルのコントロール。PC表示ではスタイル効く。スマートフォン表示ではスタイル効かない。
            'height': '270px !important',
            'overflow-y': 'scroll !important',
            'border': '1px solid #cbcccd !important',
            'border-width': '1px !important',
            'margin': '0 auto !important'
        };

        return state;
    }];

    /**
     * フィールドオブジェクトを取得します。
     * 
     * @param {Object} state fbイベントのstateオブジェクト
     * @param {String} fieldCode フィールドコード
     * @return {Object} フィールドオブジェクト
     */
    function getField(state, fieldCode) {
        return state.fields.find(function (f) { return f.code === fieldCode; });
    }

    /* IE11用Array.prototype.find拡張 */
    if (!Array.prototype.find) {
        Array.prototype.find = function (predicate) {
            if (this === null) {
                throw new TypeError('Array.prototype.find called on null or undefined');
            }
            if (typeof predicate !== 'function') {
                throw new TypeError('predicate must be a function');
            }
            let list = Object(this);
            let length = list.length >>> 0;
            let thisArg = arguments[1];
            let value;

            for (let i = 0; i < length; i++) {
                value = list[i];
                if (predicate.call(thisArg, value, i, list)) {
                    return value;
                }
            }

            return undefined;
        };
    }
})();

 

お世話になっております。

トヨクモの友利と申します。

ドロップダウンなどのplaceholderは直接書き換える必要があるため

fb.events.form.mountedの中で以下の文で書き換えることが可能です。

fb.getElementByCode('フィールドコード').querySelector('input').placeholder = 'placeholderに設定したい文字列'

 

また、pc向けのスタイルの適応は質問者様の様にstyleのなかに

そしてスマートフォン向けはspStyleの中に設定することで反映できます。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。