0

私はJavascriptの新人なので、答えが明らかな場合はお詫びします。私の問題は、特定のテキストエリアに焦点を当てることで、その内容をクリアし、別のdivの表示値を「none」から「block」に変更したいということです。これらを別々に行うことは問題ではありませんでした。

明確な内容:

onfocus="if (this.value == 'Update your status') {this.value = '';}"

別のdivの表示プロパティを変更します。

onfocus="displayControls();"
<script type="text/javascript">
            function displayControls() {
                 if (document.getElementById('statusUpdaterControls').style.display == "none") {
                     document.getElementById('statusUpdaterControls').style.display = "block";
                }; 
            }; 
</script>

次に、textareaのonfocusイベントで、または上記のdisplayControls()関数で、次のように2つを組み合わせようとしました。

    <script type="text/javascript">
                function displayControls() {
                    if (document.getElementById('statusUpdater').value == 'Update your status') {
                        document.getElementById('statusUpdater').value = '';
                    }; 
                    if (document.getElementById('statusUpdaterControls').style.display == "none") {
                        document.getElementById('statusUpdaterControls').style.display = "block";
                    }; 
                }; 
            </script>

突然どちらの解決策も機能しません...どんな助けでも大歓迎です。

編集: 私は解決策を見つけました-クリアコンテンツコードをonclickイベントに入れ、それらを別々に保つことによって、両方の項目が実行されます。以前に間違っていたことについての洞察をいただければ幸いですが、将来のために改善できる愚かなことをしていたに違いありません。前もって感謝します。

4

1 に答える 1

0

onfocus文字列ではなく関数を受け入れるため、次のようになります。

something.onfocus = displayControls;
于 2011-09-12T14:06:51.010 に答える