带有UserID的ClientID的document.getElementById

时间:2016-09-08 11:42:00

标签: javascript asp.net telerik

我编写了以下JavaScript代码,如下所示

function confirmCallBackFn(arg)
{
    if (arg == true)
    {
        document.getElementById('#<%=txtOne.ClientID %>').disabled = true;
    }
}    

在页面浏览源中我得到如下

document.getElementById('#ctl00_ContentPlaceHolder1_MyUser1_MyContainer1_txtOne').disabled = true;

txtOne文本框未被禁用。

编辑 *************************************** ************************

以下是我用于RadNumericTextBox

的代码
<telerik:RadNumericTextBox ID="txtOne" runat="server" MaxValue="1440" MinValue="0"
                                                Width="35px" AutoPostBack="true" OnTextChanged="txtOne_TextChanged">
                                                <%--Value='<%# (int)Eval("MyValue") %>'--%>
                                                <NumberFormat DecimalDigits="0" />
                                            </telerik:RadNumericTextBox>

Checkbox1_checkedchanged事件如下

protected void checkbox1_CheckedChanged(object sender, EventArgs e)
{
    radWindowManager.RadConfirm("Are you sure you want to clear controls?", "confirmCallBackFn", 300, 100, null, "");
}

3 个答案:

答案 0 :(得分:0)

您可以直接在函数

中传递文本框的ID
function confirmCallBackFn(arg)
{
    if (arg == true)
    {
        document.getElementById('txtOne').disabled = true;
    }
}  

答案 1 :(得分:0)

请将TextIDMode =“Static”放入TextBox Like

<asp:TextBox ID="txtOne" ClientIDMode="Static" runat="server"></asp:TextBox>

答案 2 :(得分:0)

如何获取客户端对象

可以通过每个控件的已注册JavaScript对象访问所有API方法。每个控件都可以使用与控件的ClientID同名的全局变量:

<script type="text/javascript">
    function pageLoad() {
        var numeric = $find("<%= RadNumericTextBox1.ClientID %>")
    }
</script>

获取客户端对象的另一种方法是处理控件的任何客户端事件 - sender参数引用所需的客户端对象:

<script type="text/javascript">
    var textBox = null;
    function Load(sender, args) {
        textBox = sender;
    }
</script>
<telerik:RadNumericTextBox RenderMode="Lightweight" ID="RadNumericTextBox1" runat="server">
    <ClientEvents OnLoad="Load" />
</telerik:RadNumericTextBox>

您可以通过查找Client-side Programming of your control in the Telerik Documentation.

了解有关他的更多信息

我希望这会有所帮助。

编辑:
这个例子对我有用:

    <telerik:RadTextBox ID="RadTextBox1" runat="server" Text="now you see me ?"  >
    </telerik:RadTextBox>

    <telerik:RadButton ID="RadButton3" runat="server" AutoPostBack="false" Text="RadButton" OnClientClicked="DoIT"  ></telerik:RadButton>
    <script type="text/javascript">
        function DoIT() {
            var bbbbb = $find("<%= RadTextBox1.ClientID %>");
            bbbbb.disable();
        }

    </script>

If you want to learn more about Client side method and properties of a control.

Some exmple in the telerik Demo

的问候,
皮尔