0
<!DOCTYPE html>
<html>
<body>

<form action="form_action.asp" method="get">
  <span style='background-color: red;'>
    <input style="FILTER: progid:DXImageTransform.Microsoft.Alpha( style=0,opacity=50);" type="checkbox" name="vehicle" value="Bike" /></span>I have a bike<br />

  <span style='background-color: red;'>
    <input style="-moz-opacity:0.5" type="checkbox" name="vehicle" value="Car" /></span> I have a car <br />
  <input type="submit" value="Submit" />
</form>

<p>Click on the submit button, and the input will be sent to a page on the server called "form_action.asp".</p>

</body>
</html>

オンラインでいくつかの例を見つけ、これをまとめると、上部の入力チェックボックスがieで機能し、下部がFFとchromeで機能するはずです。どちらもうまく機能しません。IEはだらしなく見え、FFとクロムはまったく機能していないようです。チェックボックスのリストについてこれを理解しようとしています。チェックボックスの一部は、以前の選択に基づいて無効になっています。ほとんどのブラウザで動作していますが、一部のブラウザではボックスがグレー表示されません。

したがって、javascriptを使用してボックスをグレー表示する方法を理解する必要があります。これは機能していないようでdocument.getelementbyid(elementID).style.background = "#dbdbdb";、ボックスの輪郭を描くだけです。

どんな助けでも大歓迎です

4

2 に答える 2

1

チェックリストはクリック可能にする必要はありませんか?

一部のブラウザでは単純な解決策として無効にしてから、他のブラウザの不透明度を上げます。

document.getElementById(elementID).disabled="disabled";
document.getElementById(elementID).style.opacity="0.5";

それはあなたの背景が黒であると仮定しています...おそらくそうではありません。

それ以外の場合は、チェックボックスの x、y 位置を取得します。

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('yourElId') ).left;

次に、z-index が高く、チェックボックスの前に絶対位置が設定された不透明度の黒い div を作成します。

于 2012-06-06T17:08:07.327 に答える
0

それらが無効になっている場合は、チェックボックスに組み込まれている「disabled」プロパティを使用する必要があります。これにより、それらが無効になり、無効になります。

于 2012-06-06T17:05:01.787 に答える