在使用母版页(包含表单中的页面)的 aspx 页面上使用 javascript?

发布于 2024-07-29 23:59:23 字数 288 浏览 3 评论 0原文

我有一个母版页,其中包含表单中继承它的所有内容。 从它继承的页面需要运行一些 JavaScript 来作用于页面上的文本字段。 但是,我似乎无法通过 javascript 引用该文本字段,因为表单从母版页开始。

以下行将出现错误:

document.form1.txtFindUser.value = blah.responseText;

这是因为 form1 是在母版页上定义的,而 txtFindUser 是在当前页上。

这些情况该如何处理?

I have a master page which contains everything that inherits it within a form. A page inheriting from it needs to run some javascript to act on a text field on a page. However, I can't seem to reference that text field through the javascript, since the form begins on the master page.

The following line will come up bogus:

document.form1.txtFindUser.value = blah.responseText;

This is because form1 is defined on the master page, while txtFindUser is on the current page.

How can these situations be handled?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晒暮凉 2024-08-05 23:59:23

怎么样:

document.getElementById('txtFindUser').value = blah.responseText;

但是如果 txtFindUser 是你的服务器控件的 id,那么你应该使用上面的代码,如下所示:

document.getElementById('<%= txtFindUser.ClientID %>').value = blah.responseText;

How about that :

document.getElementById('txtFindUser').value = blah.responseText;

But if txtFindUser is your server control's id, then you should use the code above like that :

document.getElementById('<%= txtFindUser.ClientID %>').value = blah.responseText;
源来凯始玺欢你 2024-08-05 23:59:23

在 .NET 中,页面元素在运行时的名称并不总是与设计时的名称相同。 运行页面时查看页面的源代码,并查看 txtFindUser 在 IIS 解释后被调用的内容。

Page elements don't always have the same name at runtime than they do in design time in .NET. View the source of your page when you ran it and see what txtFindUser is called after it was interpreted by IIS.

亢潮 2024-08-05 23:59:23

该页面上的任何服务器控件都将以不同的名称呈现,因为该页面是从母版页派生的。 (我想这消除了母版页和派生页中的控件使用相同名称可能产生的复杂性)。

var ctrl = '<%= txtBox1.ClientID %>';
document.getElementById(ctrl).value='Hello world';

请参阅此帖子了解更多信息

any server controls on the page will render with a different name since that page is derived from a master page. (I guess this removes complexities which can arise out of using same names for controls in your master page as well as in the derived page).

var ctrl = '<%= txtBox1.ClientID %>';
document.getElementById(ctrl).value='Hello world';

Refer to this post for more info

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文