• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チャットフォームで文字色をランダムに)

チャットフォームで文字色をランダムに変える方法

このQ&Aのポイント
  • ローカルサーバーで簡易チャットを使っている際に、チャット上で文字色をランダムに変えるプログラムを作成したい。現在はonLoadで通常の文字色を変えることができているが、フォーム上での文字色の変更ができない。どのようにすればチャットで文字色をランダムに変えることができるのか、ご教示いただきたい。
  • チャットフォームを使用している際に、文字色をランダムに変えるプログラムを作成したい。現在はonLoadで通常の文字色を変えることができているが、フォーム上での文字色の変更がうまくいかない。チャットで文字色をランダムに変える方法を教えていただけますか?
  • 簡易チャットを利用している際に、チャット上で文字色をランダムに変えるプログラムを作成したい。onLoadで通常の文字色を変えることはできたが、フォーム上での文字色の変更ができない。チャットで文字色をランダムに変える手段について、アドバイスをいただきたい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

「フォーム上の」というのは「textareaとかinput」のことですか? function setCSS(strc){ for( i = 0; i < document.getElementsByTagName("textarea").length; i++) { document.getElementsByTagName("textarea")[i].style.color = strc; } for( i = 0; i < document.getElementsByTagName("input").length; i++) { document.getElementsByTagName("input")[i].style.color = strc; } } を追加してChangecolor()の document.fgColor = strColorCode;;を setCSS(strColorCode);に変更してください。 fgColorはテキストの色しか変更できません。 textareaやinputに対してCSSを変更すればできるかと。 で、疑問に思ったのですが、 strColorCode = "#" + arrColor[nTemp]; って何がしたいのですか? arrColorには色名が入っているのに#をつける意味が分かりません。

migrant
質問者

お礼

回答ありがとうございます。 strColorCode = "#" + arrColor[nTemp];のところは最初に16進数で指定していたので消し忘れていただけです。 それとフォーム上で文字色をcolorとして 文字色 <select name=color> <option value="#DF0000">赤 ~~~~~中略~~~~~ <option value="#FF8040">オレンジ </select> と言う選択を付けているのですが、これでvalue="setCSS(strc)"としてもならないと思うのですが、どうやって指定すればいいのでしょうか?

その他の回答 (2)

回答No.3

No2ですがミスってます。 気づいて修正してくれてると思いますが、 setCSSがgetCSSになってます。 そのまま文面どおりに写すとエラーになりますので。

回答No.2

<select onchange="getCSS(this.options[this.selectedIndex].value);"> に変更してください。 選択しているoptionが変更されたとき、その新しく選択したoptionのvalueをgetCSS();の変数として実行します。 で、前回(No1)の回答ですが、 getCSSはtextareaとinputの全ての文字色を変更するようになってます。 背景食を変更したい場合は document.getElementsByTagName("タグ名")[i].style.color = strc;を document.getElementsByTagName("タグ名")[i].style.backgroundColor = strc;と変更してください。

migrant
質問者

お礼

ありがとうございました。 うまくできました。

関連するQ&A