人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以前の同様の質問(http://q.hatena.ne.jp/1153901836)で既に状況はわかっているのですが、どうしてもIE6にてテキストボックスにdisabled属性を指定した際の文字の色を黒色に設定したいのです。CSSで!important指定などをつけてもやはり反応してくれません。どなたかどうにかして色を指定する方法を教えて頂けませんでしょうか?環境としては、下記の通りです。
OS:WindowsXP SP3、ブラウザ:IE6 SP2
JavaScriptを使用も可、
readonly属性への代替は不可(理由:HTMLはXMLをインプットにして自動で出力される為勝手に変更ができない[XMLからHTMLに自動変換するソフトがreadonly属性を翻訳できない]。そのHTMLに対してCSSを当てることで変更をしないといけない為)

●質問者: riceflow
●カテゴリ:コンピュータ
✍キーワード:CSS Disabled HTML IE6 JavaScript
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Mars
●35ポイント

xml→html変換ソフトの存在がいまひとつわかってませんが、

htmlに変換後、Javascriptでreadonryに変更するのはどうでしょうか?


<html>
<head>
<title></title>
</head>
<body>
<form>
<input name="abc" type="text" value="文字列" disabled >
<input type="submit" value="送信">
</form>
<!-- ページ 末期に以下のスクリプトを挿入しておく -->
<script type="text/javascript">
// 全ての<input type="text" disabled>を処理する
var l=document.getElementsByTagName('input');
for(var i=0;l[i];i++){
 if(l[i].type=="text" && l[i].disabled) {
 l[i].name="";
 // nameを削除することで無効化(disabledに準ずるようにする)
 l[i].disabled = false;
 // 色変更が効くようにするためにdisabledは取り消し
 l[i].readOnly = true;
 // 内容書き換えが出来ないようにreadonlyに設定
 l[i].style.backgroundColor = '#ebebe4';
 l[i].style.border = 'solid #7f9db9 1px';
 // disabledっぽく見せるため 背景、ボーダーを指定
 }
}
</script>
</body>
</html>

URLはダミーです

http://q.hatena.ne.jp/

◎質問者からの返答

>xml→html変換ソフトの存在がいまひとつわかってませんが

ソフトというより自作のプログラムです。

ここまで丁寧に回答して頂き申し訳ないのですが、どうしてもdisabledで対応を行いたいのです。やはりreadOnlyに逃げないと駄目なのでしょうか。。。


2 ● Mars
●35ポイント

IE6がdisable属性が付いているとシタイルシートでいくら色を指定しても効かないので、

なにかしら代わりの手段を探すかしかないかと思います。

(current styleを見るとcssでcolor:blackを指定すればちゃんとblackにはなっている、

それでも灰色になるのはdiabled属性があると「cssとは別次元で」後から効果を付けているからだと思う)

XMLデータ上はdisabledのままでかまわない方法、

既存のシステムにjavascriptを追加するだけの方法を提案したつもりですが、

まだ問題があるでしょうか?

(実際のところそれほど自信がある策ではないので)

他に考えられるのは、diabledのinputはそのままに、Javascriptでreadonlyのinputを生成して上に重ねてしまうとか・・具体的なコードは面倒なのでとりあえずパスですが。

http://q.hatena.ne.jp/2

◎質問者からの返答

ご丁重にありがとうございます。

既存の設定値を利用してどうにか対応を行いたかったのですが、やはりIEの仕様上からは無理ということなのでしょうか。実はこうすればdisabled指定のままでもOKというのがあるのではないのかと思いこの様に質問を書いているしだいであります。でも、オブジェクトにはきちんとcolor属性指定がされているんですよね。。。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ