gpt4 book ai didi

javascript - 在 JavaScript 函数的参数上传递多个控件

转载 作者:行者123 更新时间:2023-11-28 00:15:57 24 4
gpt4 key购买 nike

我有一个 JS 端:

        function recolor(ddl, hdf) {

var ColorHDF = document.getElementById(hdf); //Error Undefined

ddl.style.backgroundColor = 'White';
ColorHDF.value = 'White';
}

还有这个 Asp.net 端:

            <asp:DropDownList ID="DDL_NumCadreLA_1" onchange="recolor(this, 'HDF_NumCadreLA_1');"  runat="server" Width="40" CssClass="reducedSize" Enabled="false"></asp:DropDownList>
<asp:HiddenField ID="HDF_NumCadreLA_1" Value="load" runat="server"></asp:HiddenField>

使用'this'很容易获得对javascript函数的控制,但我无法将Hiddenfield控件放入其中以更改他的值,我应该如何获得它? (使用此代码,ColorHDF 未定义)

最佳答案

ASP.NET 控件的 ID 属性与最终 html 页面上元素的 ID 不同。加载页面时,ASP.NET 将为控件分配一个元素 ID - 在浏览器中查看页面源代码。有一篇很好的博客文章解释了事情here .

对于一个简单的页面,每次加载页面时分配的 ID 很可能都是相同的,但无法保证这一点。为了确保使用正确的元素 ID 调用您的 Javascript,请在​​您的 onchange 中使用以下代码:

recolor(this, '<%= HDF_NumCadreLA_1.ClientID %>');

加载页面时将插入正确的 ID。再次,检查浏览器中的页面源代码以查看其运行情况。

或者,您可以将隐藏字段的 ASP.NET 设置的 ClientIDMode 属性覆盖为 Static:

<asp:HiddenField ID="HDF_NumCadreLA_1" ClientIDMode="Static" Value="load" runat="server"></asp:HiddenField>

关于javascript - 在 JavaScript 函数的参数上传递多个控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30455181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com