gpt4 book ai didi

javascript - 如何从在客户端添加行的表中获取数据?

转载 作者:行者123 更新时间:2023-11-30 17:50:51 27 4
gpt4 key购买 nike

我有一个包含 2 列的表格。并有一个按钮“添加行”以允许用户动态添加带有 2 个文本框的新行(通过使用 jJvascript 以提高性能而无需在服务器上回发)。

我希望检索用户键入的所有值并保存到数据库。

我的问题是,我无法在服务器端(在 .aspx.cs 文件中)检索表的值,因为我的表不是 runat="server",如果我的表 runat="server",我无法在客户端添加行。

有解决此问题的想法或有其他替代方法吗?

下面是我的“添加行”代码:

function addRow(tableID) {

var table = document.getElementById(tableID);

var rowCount = table.rows.length;
var row = table.insertRow(rowCount);

if (rowCount > 10) {
alert("Only 10 rows allow");
return false;
}

var cell1 = row.insertCell(0);
cell1.innerHTML = rowCount;

var cell2 = row.insertCell(1);
var element1 = document.createElement("input");
element1.type = "text";
element1.name = "txtbox[]";
element1.style = "width:345px;"
cell2.appendChild(element1);

var cell3 = row.insertCell(2);
var element2 = document.createElement("input");
element2.type = "text";
element2.name = "txtbox[]";
element2.style = "width:345px;"
cell3.appendChild(element2);
}

这是表格的代码

<table id="tblAddNode" width="750px" border="1">
<tr>
<th width="10px">No.</th>
<th width="350px">Description</th>
<th width="350px"> Keyword </th>
</tr>
<tr>
<td width="10px">1</td>
<td width="350px"> <input type="text" style="width:345px;"/> </td>
<td width="350px"> <input type="text" style="width:345px;"/> </td>
</tr>
</table>

已编辑添加行按钮

input type="button" value="Add Row" onclientclick="addRow('tblAddNode')"

提交按钮

<asp:Button ID="EnterRootNodeButton" runat="server" Text="OK" OnClick="EnterRootNode_Click"/>

最佳答案

我不确定为什么您认为如果将其标记为 runat="server"则无法在客户端操作信息,您的意思是 Id 在此之后更改了吗?

您可以通过添加 ClientIDMode="Static"或在您的 javascript 中将 id 标记为静态,而不是引用 Id,而是引用 ClientId

此外,有多种方法可以做到这一点,这取决于您的解决方案是如何设计的以及您希望在该问题上花费的时间。

您可以使用用户输入信息发出 ajax 调用,然后将其发布到 API(您需要开发它)。您将保存用户添加的所有信息。

您还可以使用另一个 API 来公开所有信息,并使您能够重新加载信息(如果将来需要)。

这样做你会有更好的UI体验,但如果你不熟悉Ajax和webservice设计,当然需要更多的时间。

关于javascript - 如何从在客户端添加行的表中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com