无法访问通过 JavaScript 动态创建的浏览器
unable to access the browser conrols created dynamically through javascript
我已经通过javascript动态创建了控件(文本框和复选框)。即每次我单击添加行按钮时都会生成一个新行。
但是我无法通过代码隐藏访问新创建的元素。
请协助:)
-----------aspx 文件--------------- 在 HTML 表格中添加/删除动态行
<script language="javascript">
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name = "chkbox[]";
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
cell2.innerHTML = rowCount + 1;
var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
cell3.appendChild(element2);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="Add Row" onclick="addRow('dataTable')" />
<table id="dataTable" width="350px" border="1">
<tr>
<td>
<input type="checkbox" name="chk" />
</td>
<td>
<input type="text" />
</td>
</tr>
</table>
</div>
</form>
</body>
虽然不可能
通过 ID
使用 java-script 获取动态创建的控件。
但是我认为您可以在通过java脚本创建控件时使用它name
属性。
我想这样你就可以收藏Request.Forms
了。
id 属性仅标识 DOM 中的标记。 name 属性允许将标记作为窗体的一部分回发。 ASP.NET 控件或具有 runat=server
的 HTML 元素会自动获取分配的名称和 id 属性。
但是,java-script
创建的控件需要指定 name
属性。
参考资料 :- 表单发布值 在 ASP.NET Web 表单中使用纯 html 控件
另一个链接
http://www.quepublishing.com/articles/article.aspx?p=28493
编辑 -1
假设我创建了一个input type='text' name='companyname'
那么我可以得到如下值
string companyname = Request.Form["companyname"];
假设我正在创建一个有问题的输入
var element2 = document.createElement("input");
element2.name='companyname'
将此元素添加到表单
cell3.appendChild(element2);
你可以在代码后面得到它作为
string companyname = Request.Form["companyname"];
您无法从代码隐藏访问控件值,因为这些值不是服务器控件。属性为 runat="server" 的控件只能从代码隐藏访问。
作为解决方法,您可以使用 AJAX 将值发送到 Web 服务,然后可以从那里处理它。
相关文章:
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 在动态创建的元素上获取对特定选择器的引用
- JQuery对动态创建的对象进行选择
- 使用jquery动态创建ul-li
- 从动态创建的html选择中选择所选选项
- 如何在动态创建的节点上绑定函数
- 动态创建OnClick事件Javascript
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 在动态创建的标记上添加事件
- 动态创建一个javascript/jquery多级数组
- 如何动态创建许多Jquery颜色选择器(eyecon)
- 如何为动态创建的文本区域中输入的值更新ng模型
- 对动态创建的元素运行jQuery.ech()
- 使用jQuery访问动态创建的项
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 我想将链接关联到动态创建的p元素上的相应文章
- AngularJs从列表中动态创建指令
- 使用javascript动态创建html内容/元素