启用和禁用按钮

时间:2013-07-22 18:59:01

标签: javascript jquery asp.net button

我在这里看了很多关于使用jquery在javascript中启用和禁用按钮的示例,其中任何一个都适用于我。

这是我绝望的情况。

<asp:TextBox ID="mytext" runat="server" onkeyup="enableButton(this, 3)"/>
<asp:Button ID="myButton" runat="server" Text="Search" disabled="disabled" />

和我的javascript

        <script type="text/javascript">
            function enableButton(control, chars) {
                if (control.value.length >= chars) {
                    $('#myButton').removeAttr("disabled");
                } else {
                    $('#myButton').attr("disabled", true);
                }
            }
        </script>
  

修改

嘿,伙计们,我终于得到了它!

我在codebehind

中的LoadPage事件中注册了我的javascript函数调用
mytext.Attributes.Add("onkeypress", "enableButton('" + mytext.ClientID + "',3,'" + mybutton.ClientID + "');"

谢谢你们所有人的时间!

7 个答案:

答案 0 :(得分:4)

禁用是属性,而不是属性。

使用:

$('#myButton').prop("disabled", "disabled");

答案 1 :(得分:0)

使用Javascript:

<script language="javascript" type="text/javascript">


function SetButtonStatus(sender, target)
{

if ( sender.value.length >= 12 )
document.getElementById(target).disabled = false;

else

document.getElementById(target).disabled = true;
}



</script>

HTML:

<asp:TextBox ID="txtText" runat="server" onkeyup="SetButtonStatus(this, 'btnButton')"></asp:TextBox>

<asp:Button ID="btnButton" runat="server" Text="Button" Enabled="false" />

答案 2 :(得分:0)

这是我以前做过的事情。

//On document load
$(function(){
      //Set button disabled
      $("input[type=submit]").attr("disabled", "disabled");

      //Append a change event listener to you inputs
      $('input').change(function(){
            //Validate your form here, example:
            var validated = true;
            if($('#nome').val().length === 0) validated = false;

            //If form is validated enable form
            if(validated) $("input[type=submit]").removeAttr("disabled");                              
      });

      //Trigger change function once to check if the form is validated on page load
      $('input:first').trigger('change');
})

答案 3 :(得分:0)

使用此功能。

$('#<%= myButton.ClientID%>').attr('disabled', 'disabled');

答案 4 :(得分:0)

您是否在head标签中添加了jquery库?

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
 <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

答案 5 :(得分:0)

最后我明白了!

我在codebehind

中的LoadPage事件中注册了我的javascript函数调用
mytext.Attributes.Add("onkeypress", "enableButton('" + txtTRReference.ClientID + "',3,'" + btnGetTR.ClientID + "');"

谢谢你们所有人的时间!

答案 6 :(得分:0)

    function enableButton(control, chars) {
        if (control.value.length >= chars) {
            $('#<%= myButton.ClientID%>').prop("disabled", false);
            $('#<%= myButton.ClientID%>').css("pointer-events", "auto");
           $('#<%= myButton.ClientID%>').css("opacity", "1");
        } else {
            $('#<%= myButton.ClientID%>').prop("disabled", true);
            $('#<%= myButton.ClientID%>').css("pointer-events", "none");
            $('#<%= myButton.ClientID%>').css("opacity", ".5");
        }
    }

disabled仅适用于IE,它在chrome中不起作用,因此添加css pointer-events none会更改鼠标指针并且不允许单击该链接。

修改:当您不使用myButton.ClientID

时,也请使用ClientID = static