4

セレクトボックスから適切な値を選択すると、さまざまなテキスト入力フォームを表示するjs関数です。

function arata_formular(formular) {
            document.getElementById("formular").style.visibility = "visible";
            if(document.getElementById("formular").style.display == "none" ) {
                document.getElementById("formular").style.display = "inline";
            }
            else {
                document.getElementById("formular").style.display = "visible";
            }
        }

しかし、期待どおりに動作しません。そこに渡すものに関係なく引数がありますが(arata_formular(entropy)としましょう)、「エントロピー」IDではなく「フォーミュラー」IDを探します。「インライン」挿入を行うにはどうすればよいですか?

残念ながら、このフレームワークや他のフレームワークでは jquery を使用できません。JavaScript のみを使用する必要があります。ありがとう!

4

2 に答える 2

5

引用符を取り除くだけです。

function arata_formular(formular) {
    var el = document.getElementById( formular );

    el.style.visibility = "visible";
    el.style.display = el.style.display === "none" ? "inline" : "visible";
}

また


function arata_formular(formular) {
    document.getElementById( formular ).style = {
        visibility: "visible",
        display: el.style.display === "none" ? "inline" : "visible"
    }
}
于 2013-01-15T23:43:33.207 に答える
3

formularは変数ですが、文字列のように使用しています。また、キャッシュする必要があります。

function arata_formular(formular) {
        var el = document.getElementById(formular);
        el.style.visibility = "visible";
        if(el.style.display == "none" ) {
            el.style.display = "inline";
        }
        else {
            el.style.display = "visible";
        }
        return el;//in case you want to use the element
}
于 2013-01-15T23:46:48.833 に答える