我想使用Windows应用程序表单在网页上设置一个值并使用GetElementById和 SetAttribute(" value",desiredValue) 我创建了一个命令列表,可以浏览网页并输入值:
currentCommands.Enqueue(new Command("setvalue", "45",
"setPublishMin"));
而" setPublishMin"通过commandHandler类和csv文件链接到wepage上文本框的ID ID看起来像这样
ID =" WebpageAdminTheme_ComponentList_ctl02_wtExpandableInnerBlock_wtExpandableSe ction__Sets"]
一旦我填写了文本框并添加了另一个我希望传递不同值的文本框,除了" ctl02 "之后,ID将是相同的。改为" ctl04 " ID中的等等。 所以我想知道是否有更简单的方法来传递值而不是使用ID
答案 0 :(得分:0)
您可以尝试使用ClientIdMode
<asp:ContentID="content"ContentPlaceHolderID="content"runat="server"ClientIDMode="Static" >
<asp:TextBox runat="server"ID="txtName"ClientIDMode="Static" />
</asp:Content>
静态 此选项强制控件的ClientID直接使用其ID值。根本没有应用命名容器命名,最终会得到干净的客户端ID:
<inputname="ctl00$content$txtName"type="text"id="txtName" />
答案 1 :(得分:0)
如果要为来自&#34; ctl02&#34;的所有输入设置相同的值;到&#34; ctl04&#34;,那么你也可以通过课堂实现这一点。为所有控件提供相同的类,并使用类设置值。
var elms = document.getElementsByClassName('class-name')
for (var i = 0; i < elms.length; i++) {
elms[i].setAttribute("value", "foo");
}