javascript - asp.net 控件值不传递给 javascript 函数

标签 javascript jquery asp.net

我的问题是:asp.net 控件值未传递给 javascript 函数

Asp.Net 代码

<asp:TextBox ID="txtsubcategorycodeid" class="form-control " runat="server" placeholder="Sub Category Code ID"></asp:TextBox>
<asp:TextBox ID="txtsubcategoryname" class="form-control " runat="server" Height="25px" placeholder="Sub CategoryName In Letter"></asp:TextBox>
<asp:DropDownList ID="ddcategorycodeid" runat="server">
<asp:ListItem>---Select---</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddstatus" runat="server">
<asp:ListItem>---Select---</asp:ListItem>
<asp:ListItem>Active</asp:ListItem>
<asp:ListItem>In-Active</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnSave3" runat="server" Text="Button" OnClientClick="return btnSave3_onclick()" />

JavaScript 代码

var txtsubcategorycodeid = $("#txtsubcategorycodeid").val();
var txtsubcategoryname = $("#txtsubcategoryname").val();
var ddcategorycodeid = $("#ddcategorycodeid").val();
var ddstatus = $("#ddstatus").val();

当我调用它时,它显示未定义

此代码以简单形式工作,但不适用于模板上的集成,我将此代码放入集成模板中。 这是行不通的。

    This Asp.Net Code in content placeholder. 
    If I use input html control then its works.

最佳答案

如果您使用的是 ASP.NET 4 或更高版本,那么您可以向控件添加 ClientIDMode 属性,这不会更改您的 id,如下所示:-

<asp:TextBox ID="txtsubcategorycodeid" class="form-control " runat="server" 
     placeholder="Sub Category Code ID" ClientIDMode="Static" ></asp:TextBox>

在这种情况下,如果执行以下命令,您将得到正确的结果:-

var txtsubcategorycodeid = $("#txtsubcategorycodeid").val();

如果您有较低版本的 ASP.NET (<4),则可以使用 ClientID 属性来获取正在呈现的实际 ID,如下所示:-

var txtsubcategorycodeid = $("#<%= txtsubcategorycodeid.ClientID %>").val();

关于javascript - asp.net 控件值不传递给 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329698/

相关文章:

javascript - 获取属性中最大的元素

javascript - 使表单在 keydown 事件上可见,然后聚焦并清除输入字段

jquery - 指定 jQuery 验证插件中验证器的顺序

c# - 依赖注入(inject)(使用 SimpleInjector)和 OAuthAuthorizationServerProvider

Javascript/ES2015,计算出现次数并将其存储为数组中的对象

Javascript 事件监听器菜单覆盖

javascript - 样式 SELECT 元素下拉箭头

javascript - 通过javascript发送多个值

c# - 具有分布式 session 的 ASP.Net Core Identity

.net - 即使在 DataBound 事件中也无法在 FormView.InsertItemTemplate 中找到控件