使用 javascript 获取母版页内容占位符中文本框的值

Using javascript to get the value of a textbox in Master Page ContentPlaceHolders

本文关键字:文本 中文 占位符 javascript 获取 母版页 使用      更新时间:2023-09-26

我有一个 asp.net 4.0框架应用程序,它由母版页和内容占位符组成。我有一个.js文件,可以对用户输入的数据进行验证。如何调用 ContentPlaceHodler "cphBody" 中的文本框"txtFirstName"(来自.js文件)?

更新(代码):
。.aspx

<asp:TextBox id="txtFirstName" runat="server" CssClass="webForm" Width="250px" MaxLength="100"></asp:TextBox>
<asp:Button id="btnContinue" runat="server" ClientIDMode="Static" onclientclick="document.getElementById('cphHeaderContent_AlertTimeMsgBox').value = GetSeconds(); return ValidateUser(1);" CssClass="webButton" Text="Continue" OnClick="btnContinue_Click" />

。.js

function ValidateUser(valFormCount)
{
    var objTextBox;
    objTextBox = document.getElementById("txtFirstName"); 

我已经尝试过document.getElementById("<%= txtFirstName.ClientID %>")但没有奏效(传递空值)。 我怎样才能做到这一点?

这个 asp.net 表示法

document.getElementById("<%= txtFirstName.ClientID %>")

在 js 文件中无效

您可以为TextBox设置ClientIDMode="Static"。如果你这样做,你将能够通过 id 获取元素

.ASPX

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

.JS

var textbox = document.getElementById("txtFirstName");

关于ClientIDMode="Static"

此模式完全按照您的想法执行,它使客户端 ID 静态。这意味着您为 ID 输入的内容将用于客户端 ID。 警告,这意味着如果在重复控件中使用静态 ClientIDMode,开发人员负责确保客户端 ID 的唯一性。