0

チェックボックスがオンになっているときにテキストボックスを有効にする次のコードを作成しました。コードは小さな欠陥で動作しています。初めて実行するときは、チェックボックスがオンまたはオフに関係なく、テキストボックスが有効になります。しかし、数回後、コードは正しく機能しています。バグを見つけるのを手伝ってください。

<html>
<head>
    <title>SHOP ALL</title>
        <link rel="stylesheet" type="text/css" href="style.css">
        <script language="javascript" src="addcart.js"></script>
        <script type="text/javascript">
            function enableDisable(bEnable, textBoxID)
            {
                document.getElementById(textBoxID).disabled = !bEnable
            }
        </script>
</head>
     <body>
<form>
        <table align="center"  width="100%" cellpadding="50px">
            <tr>
                <th> TICK ON THE THINGS YOU NEED </th>
                <th> PRODUCT </th>
                <th> DESCRIPTION </th>
                <th> NO OF ITEMS </th>
            </tr>
            <tr>
                <td><input type="checkbox" name="shoe" onclick="enableDisable(this.checked, '0')"></td>
                <td><img src="images/1.jpg" alt="shoe1" width="180px" height="200px"></td>
                <td><h4>-------</h4></td>
                            </tr>
                        --------------
 </body>
</html`>
4

1 に答える 1

1

コードを配置する必要があります:

    <script type="text/javascript">
        function enableDisable(bEnable, textBoxID)
        {
            document.getElementById(textBoxID).disabled = !bEnable
        }
    </script>

ボディを閉じる前、または DOM の準備ができたときに呼び出されます。このようにして、チェックボックスとテキストフィールドが存在する前にコードが実行されます。

デフォルトではテキスト入力が有効になっているため、チェックボックスをオンに設定する必要がある場合もあります。

ここに作業バージョンがあります:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
</head>
<body>
  <input type="text" id="txtBox" />
  <input type="checkbox" id="chkbox" onchange="document.getElementById('txtBox').disabled=!this.checked;" checked="checked" />
</body>
</html>

デモ: http://jsbin.com/ulemim/2

于 2013-01-15T11:38:31.090 に答える