0

aspx ページで JavaScript を使用してチェックボックスが有効になっている場合は、ボタンを有効にする必要があります。これがaspxページの私のコードです。助けてください !

<script type="text/javascript">
function checkButt(obj) {
    alert("Inside the function");
    document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;
}

4

3 に答える 3

2

次のコードを使用すると、解決策が得られます。

Javascript

<script type="text/javascript">

    function enableordisable() {
            if (document.getElementById('CheckBox1').checked == true) {
                document.getElementById('Button1').disabled = false;
            }
            else {
                document.getElementById('Button1').disabled = true;
            }
    }

HTML

    <asp:CheckBox ID="CheckBox1" runat="server" Text="enable" onchange="enableordisable();" />
    <br />
    <br />
    <asp:Button ID="Button1" runat="server" Text="Button" Enabled="false" />

于 2012-12-01T09:11:00.663 に答える
1

それ以外の:

document.getElementById('<%=btnLoadForm.ClientID%>').disabled = !obj.checked;

要素からプロパティを削除してみdisabledてください (必要に応じてロジックを追加してください)。

document.getElementById('<%=btnLoadForm.ClientID%>').removeAttribute("disabled")

はブールdisabled属性であり、値は大きな違いはありません。これについては、同様の投稿で詳しく読むことができます: HTML - なぜブール属性にブール値がないのですか?

アップデート:

removeAttributeステートメントの周りにロジックが必要になります。次のようなもの:

function checkButt(obj) {
    if(obj.checked)
      document.getElementById('<%=btnLoadForm.ClientID%>').removeAttribute("disabled");
}

これは、チェックされているdocument.getElementById('<%=btnLoadForm.ClientID%>')場合に有効になりobj.checkedます。

于 2012-11-30T21:10:14.203 に答える
0

AutoPostBack="true" チェックボックスの を削除します

inline HTML..の代わりにスクリプトにイベントを追加します。

<asp:Button runat="server" id="btnLoadForm" />
​&lt;asp:CheckBox runat="server" id="chk" />​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

JS

var elem = document.getElementById('chk');

chk.addEventListener('click', function(){
    document.getElementById('btn').disabled = !this.checked;
});

フィドルをチェック

于 2012-11-30T21:13:48.450 に答える