Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Asp.net按钮禁用_Asp.net_Javascript_Jquery - Fatal编程技术网

Jquery Asp.net按钮禁用

Jquery Asp.net按钮禁用,asp.net,javascript,jquery,Asp.net,Javascript,Jquery,html代码: <asp:Button runat="server" ID="btnTest" Text="Test" OnClick="btnTest_Click" /> 代码隐藏: protected void btnTest_Click(object sender, EventArgs e) { //here not come. } btnTest事件背后的代码不起作用?它不起作用,因为生成的HTML id与ASP.NET id不同。 因此,btnTest将作为另一个Id呈

html代码:

<asp:Button runat="server" ID="btnTest" Text="Test" OnClick="btnTest_Click" />
代码隐藏:

protected void btnTest_Click(object sender, EventArgs e)
{
//here not come.
}

btnTest事件背后的代码不起作用?

它不起作用,因为生成的HTML id与ASP.NET id不同。
因此,btnTest将作为另一个Id呈现。

一种快速脏方法是运行页面,查看HTML源代码,找到按钮生成的Id,并在jQuery函数中将其作为一个片段传递

更好的方法是通过代码隐藏生成jQuery函数:

Literal1.Text = "$('[id$=" + btnTest.ClientId + "]').click(function(
{$(this).attr('disabled', 'disabled');});";
编辑
此外,我也情不自禁地意识到,您的OnClick属性应该指向btnTest\u Click,而不是btn\u Click

您是否只需要执行以下操作:

btnTest.Enabled = False;

在代码隐藏文件中?这将导致回发,但它应该可以工作。

尝试使用jQuery类选择器:

  • CssClass=“MyButton”
    添加到ASP.NET按钮
  • 在jQuery中使用此选择器
  • 单击设置
    disabled=“disabled”
    属性
  • jQuery:

    $('button.MyButton').click(function(){ 
      $(this).attr('disabled', 'disabled');
    });
    

    示例代码使用带选择器的端点。选择器没有错误。 您只需要像这样更改代码

    $('[id$=btnTest]').click(function () {
           $('[id$=btnTest]').attr('disabled', true);
    });
    

    我已经测试过了,没有任何问题

    我认为在click事件处理程序中禁用按钮会阻止回发。请在一段时间后尝试执行禁用代码:

    $('[id$=btnTest]').click(function(){
        var button = this;   
    
        setTimeout(function() {
            $(button).attr('disabled', 'disabled');
        }, 100);
    });
    

    我可以解决您的问题:
    $(.classButton”).prop('disabled','disabled');
    
    并移除禁用:$(“.classButton”).prop('disabled','')

    $=
    是“ends with”选择器,他的代码已经适用于此。“btnTest_Click而不是btn_Click”否您需要知道JS中按钮的
    ClientID
    。如果使用母版页,它与
    ID
    不同,但类似于
    ctl00\u Content1\u btnTest
    。问题是您必须设置
    disabled=“disabled”
    属性,而不是
    disabled=“true”
    。只需将
    disabled
    属性true的值替换为disabled:
    .attr('disabled','true'))
    by
    .attr('disabled','disabled')
    -这就是问题所在。
    $('[id$=btnTest]').click(function(){
        var button = this;   
    
        setTimeout(function() {
            $(button).attr('disabled', 'disabled');
        }, 100);
    });