2017-09-24 72 views
0

我想禁用客户端的Asp.net文本框使用JavaScript,如果它不是空的。如何使用javascript禁用客户端的asp.net控件

我正在使用以下函数进行空检查并禁用文本框。

<script>  
    function check(textBox) { 
    if (textBox.innerText = (field.value === "")) { 
     textBox.disabled = true; 
    } 
    }  
</script> 

和下面的代码,我在页​​面加载

ASPxTextBox1.Attributes.Add("onchange", "check(this);"); 

及以下使用是我的aspx。

<dx:ASPxTextBox ID="ASPxTextBox1" runat="server" Height="35px" Width="44px"> 
      <ClientSideEvents TextChanged="function check(textBox)" /> 
    </dx:ASPxTextBox> 

这不适合我。我不知道有什么问题。
有什么办法可以达到同样的效果。

注意:我正在使用DevExpress ASPxTextBox控件。

+0

将TextChanged =“function check(textBox)to TextChanged =”function check(this)“。 –

+0

@HamedJavaheri仍然不适用于我 – Amr

回答

0

整个功能如下所示。

<script type="text/javascript"> 

    function OnTextChangedHandler(s) { 
     alert('TextChanged. Text = ' + s.GetText()); 

     s.SetEnabled(false); 
    } 
</script> 

您的html文件如下。

<dx:ASPxTextBox ID="ASPxTextBox1" ClientInstanceName="txtReceiver" runat="server" Height="35px" Width="44px"> 
    <ClientSideEvents 
     TextChanged="function(s, e) { 
      OnTextChangedHandler(s); 
     }" /> 
</dx:ASPxTextBox> 

由于这是一个ASPxTextBox根据它们的文档s.SetEnabled(false);此代码可用于禁用控制。 s.GetText()可用于从控件获取文本值。 欲了解更多信息,请点击此处link

+0

是的,你可以调用这个函数作为check()编辑我的答案只是检查它,然后再试一次 –

+0

我做到了,因为你说过,但我仍然可以编辑文本框内容,即使它已经是文本:/ – Amr

+0

函数内部的行是否被执行检查只写一行的代码作为console.log(“test”);'或使用alert作为alert('some message');'作为函数内的第一行 –

相关问题