问题标签 [clientid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3393 浏览

jsf - 在 f:ajax 渲染中引用复合组件 ID

我正在编写一个复合组件,该组件旨在包装一个输入元素,并在其下方添加一个“可选字段”名称和 h:message 元素。这是组件(在 input.xhtml 文件中):

同样,该组件的预期用途是包装一个 h:input* 元素,该元素预计是它在使用页面中的第一个和直接子元素。

然后在使用页面中我会写:

使用普通帖子可以正常工作。但是,如果我为“Input 1”(id="i1")添加 f:ajax 验证并尝试使用以下命令重新渲染复合(ii1):

我在 ajax 响应处理期间在浏览器中生成错误:

我尝试使用f1:ii1, :f1:ii1,但无济于事。当我使用msgId:f1:ii1:msgId它有效时。有人知道为什么吗?

我正在使用 Mojarra 2.1.3

谢谢

0 投票
0 回答
289 浏览

asp.net - 在 ASP.Net 中以编程方式更改控件的 ID 是否可以

以编程方式编辑 ASPX 文件中控件的 ID 是否错误?

例如,如果我有一个这样定义的 aspx 页面:

如果我在我的代码隐藏文件的 page_load() 中执行以下操作,我会遇到任何问题:

我这样做没有任何错误,我只是想知道使用上面的代码是否会遇到问题。

您可能会问我为什么要更改 id,答案是我有一个包含上述元素的 MasterPage。使用此母版页的每个内容页面都需要该 div 的不同 id,因为该 id 在我的 css 文件中用作选择器。

另一个问题是:我已阅读 MSDN 中的“只有字母数字字符和下划线字符 (_) 的组合是此属性的有效值”。那是因为当您在 aspx 页面中指定 id 而不是以编程方式分配的 id 时,我认为这只是一个限制。任何人都可以确认吗?

非常感谢

0 投票
3 回答
2824 浏览

ajax - 如何寻址循环命名容器内的组件

我有以下结构(省略内容和属性):

由于容器内的内容取决于内部列表按钮的操作,因此我需要对其进行更新。当没有 external 时,上面显示的方法有效ui:repeat。但是,component not found当有一个错误时,它会失败并出现错误。

这似乎是由于cc.clientIdthen 本身包含外部的行索引ui:repeat,例如outerlist:0:myCC:container。正如对此答案的评论所示,此索引 ID 在视图树的服务器端表示中不可用。而是“行索引仅存在于客户端”。我必须承认我不太了解这个索引是如何完成的,以及服务器端有什么可用的。

所以我的问题是:JSF 如何做这个索引,它(在服务器上)如何在 a 中分离不同的“实例”,ui:repeat并且有没有解决我想要用上面的代码实现的解决方案?

0 投票
1 回答
905 浏览

jsf - 强制jsf呈现自动生成的clientid

我使用组件绑定和 clientId 属性在我的 javascript 代码中查找组件,如下所示:

唯一的问题是 jsf 有时不会呈现 inputText 字段的 id 属性,所以即使我知道 js 代码中的 clientId ,我也找不到该元素,因为它在客户端没有 id 属性。

  1. 渲染自动生成的id 标签有什么要求?
  2. 有什么方法可以让 jsf 自动渲染所有的 cliendId-s?(如 faces-config 条目)
  3. 有什么方法可以确保呈现单个元素的 clientId(没有明确地给它一个 id)?

更新

我找到了使用技巧的方法:

尽管在这种情况下有更好的方法,例如使用建议的名称,但如果它不是您希望使用 ajax 呈现的输入字段,它会很有用。例如与方面:

如果您查看组件树,您会看到,构面没有嵌套在表单中,它是 cc 的直接子代。所以用ajax执行cc会很好:

但这会引发格式错误的 xml 异常,因为在客户端没有具有请求 id 的元素。使用此技巧,您可以使其工作:

我可能不是第一个发现这个解决方法的人,但我决定分享它,因为我在任何地方都没有找到它

0 投票
1 回答
4753 浏览

jquery - 一起使用Repeater和jQuery

我检查了很多关于我的问题的博客答案,我也从这个网站找到了一些解决方案,我尝试了所有这些。但我不知道这是为什么?这些解决方案不能解决我的问题,我总是会出错。最后,我找到了一个我认为是正确的解决方案,因为在许多地方这个解决方案是被接受的。但这不能再次解决我的问题。

尝试此解决方案时出现此错误:plusBttn 在当前上下文中不存在。

我对按钮和文本框的客户端模式使用可预测模式。简单地说,我想通过控制我的按钮来更改显示在文本框(QuantityTxtbx)中的数量(minusBttn 用于减少 quantityTxtbx 值的值,而 plusBttn 类似地用于增加值)

实际上我的问题在于通过在 jscript 中使用 ClientID 来查找我的控件。

上面显示的代码都在Repeater,ItemTemplate中:

我在 asp.net 页面中的 jscript 代码:

还有我的控制;

好的抱歉误会,这是我的浏览器端代码:

0 投票
7 回答
63656 浏览

javascript - 没有在 ASP.Net 中获取 ClientID

我有 ASP.Net 页面,我在其中调用这样的 JavaScript 函数:

但是在单击 GO 按钮时,我收到以下错误:

JavaScript 运行时错误:无法获取未定义或空引用的属性“值”

查看按钮的渲染代码时:

它没有放置适当的 ClientID。我尝试将测试框的 CLientIDMode 设置为静态,但没有帮助。

这个问题类似于这个未回答的问题

0 投票
1 回答
932 浏览

asp.net - 从内容页面中动态创建的输入控件中检索表单数据

我会相信这个问题有一个明显的答案,但我似乎找不到任何答案。我有一个 ASP.Net MasterPage,它有一个内容页面,其中有几个动态创建的输入控件。当我发布包含它们的表单时,我想检索它们的值。这只能使用控件的 name 属性并调用 Request.Form[name]。

由于输入控件是 ContentPlaceHolder 的一部分,因此它们的 name 属性被分配了控件的 UniqueId,它是一个可能如下所示的字符串,例如:“ctl00$skts_body_div$MyNameId”。

上面例子中的名字不是随机生成的名字,而是依赖于父控件的结构,所以在回发中生成名字“ctl00$skts_body_div$MyNameId”并不容易,所以我可以调用Request.Form["ctl00$skts_body_div$MyNameId"]。

检索已发布数据的最佳实践方式是什么?

该平台是.Net 4.0

感谢圣战

0 投票
4 回答
9871 浏览

android - 在 API 控制台中为 Android 应用程序重新创建客户端 ID 时出错

我在 API 控制台中为我的 Android 应用程序创建了一个客户端 ID,指定了包名称 ( com.clc.mmm.free ) 和证书指纹 (SHA1)。然后我删除了客户端 ID 和创建 ID 的 API 控制台项目(它是一个“测试”API 控制台项目)。

现在我想在新的 API 控制台项目中重新创建客户端 ID,但我收到消息:此客户端 ID 是全局唯一的,并且已在使用中。

但是,我在任何地方都找不到我的包/密钥的客户端 ID,我什至取消删除了初始项目并检查了,我的包没有客户端 ID,但仍然出现相同的错误!

如果没有客户端 ID,我将无法通过 Google+ 登录发布我的新应用版本。请帮忙!

0 投票
1 回答
1029 浏览

c# - 从 asp.net 自定义控件文本框中获取 java 脚本值

我开发了一个使用文本框的asp.net自定义控件,它在表单中的不同位置使用,我如何从不同的自定义控件中获取文本框值。

我正在使用以下语法,但它不起作用。

以下propetly添加到自定义控件类 -

以下代码用于获取自定义控件值

0 投票
2 回答
1311 浏览

c# - 嵌入在页面上的用户控件更改控件的 ClientID

我有一个用户控件(.ascx),我将其嵌入到我的页面(.aspx)中,如下所示:

加载页面时,用户控件内的控件(文本框、下拉菜单等)会自动更改。假设我有一个名为 txtTest 的文本框,它会更改为 mytestui_txtTest。

如您所见,它采用上面用户控件的 ID 并将其附加到控件。

有什么办法可以防止这种情况发生吗?