- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 HTML 表格,并通过按钮的 onclick
事件使用 Javascript 插入一行。
这是我的代码。
HTML:
<!-- language: lang-html -->
<table id="PopTable" class="imagetable" runat = "server" align="center">
<tr>
<th></th>
<th>ShipTo</th>
<th>CustName</th>
<th>Alamat</th>
<th>Dari</th>
<th>Ke</th>
</tr>
</table>
Javascript:
function AddRow(Shipid,custname, grup, valid, alamat)
{
var temp11;
valid = "YES";
for (var i = 0; i < arrloc.length; i++)
{
temp11 = arrloc[i];
if (Shipid == temp11){ valid = "No" };
}
if (valid == "YES"){
var table = document.getElementById("PopTable");
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);
if (grup == "")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "DK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LK";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LJ";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LD";
option2.value = "4";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LP";
option2.value = "5";
element2.add(option2, null); }
else if (grup == "DK")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "LK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LJ";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LD";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LP";
option2.value = "4";
element2.add(option2, null);}
else if (grup == "LK")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "DK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LJ";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LD";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LP";
option2.value = "4";
element2.add(option2, null);}
else if (grup == "LJ")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "DK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LK";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LD";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LP";
option2.value = "4";
element2.add(option2, null);}
else if (grup == "LD")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "DK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LJ";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LK";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LP";
option2.value = "4";
element2.add(option2, null);}
else if (grup == "LP")
{
var element2 = document.createElement("select");
var option1 = document.createElement("option");
option1.innerHTML = "DK";
option1.value = "1";
element2.add(option1, null);
var option2 = document.createElement("option");
option2.innerHTML = "LJ";
option2.value = "2";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LD";
option2.value = "3";
element2.add(option2, null);
var option2 = document.createElement("option");
option2.innerHTML = "LK";
option2.value = "4";
element2.add(option2, null);}
var element3 = document.createElement("input");
element3.type = "checkbox";
cell5.innerHTML = grup;
cell4.innerHTML = alamat;
cell6.appendChild(element2);
cell2.innerHTML = Shipid;
cell3.innerHTML = custname;
cell1.appendChild(element3);
arrloc.push(Shipid);}
}
在代码隐藏中,我尝试获取表的内容:
For i = 0 To PopTable.Rows.Count
shipid = PopTable.Rows(1).Cells(1).InnerText
'shipid = PopTable.Rows(1).Cells(1).innerhtml -- i also try this
stringsql = "insert into cs_graph_ubah_dklk_log (shipid, dklk_awal, dklk_ubah, tgl_ubah, user_name, flag_proses, mid ) values ('" & shipid & "', '" & dklk_awal & "','" & dklk_ubah & "', sysdate , '" & user & "', 1, cs_graph_ubah_dklk_seq.nextval ) "
dtsql = SPKOraConnGetDataWS.CreateDataSet(stringsql)
Next
我尝试通过 Javascript 插入 HTML 表格行,但在 VB.NET 中,结果是 rows.count
只有 1 行,并且该行只是标题。为什么会这样?在客户端,Javascript 成功地向表中添加行。
为什么代码隐藏只读取标题行?缺少什么?
如果您需要我提供更多信息,请询问。
最佳答案
主要原因可以在 Amir Sherafatian 的评论中发表:
创建网站时,将呈现所有 html - 具有 runat="server"属性的元素在页面执行期间在服务器端生成 1:1 对象。
请注意,页面执行在将 html 写入客户端时结束,然后除非您将一些数据存储在缓存/ session / View 状态/cookies 或任何其他持久存储中,否则所有与渲染页面相关的数据都会在网络服务器上丢失.
当客户端点击提交时,页面的状态从网页上的那些持久存储和输入中恢复(这基本上是一种形式,因此每次回传都会将所有输入/选择/隐藏字段发送回服务器)想象一下,那用户使用控制台通过自己的 java 脚本修改您的页面 - 它根本无法被服务器接受。 html 对回传上的 Web 服务器没有任何意义。唯一的通信方式是通过从表单字段映射的回发属性。
任何其他不是输入字段/隐藏字段的对象都是在开始页面执行时从 aspx/html(在您的服务器上)重建的。
您后面的代码只能看到标题行,因为在构建页面状态的表中只定义了标题行。
如果你想实现你的目标,你需要定义至少一个带有 runat=server"的隐藏字段,当你使用 JavaScript 添加/删除行时,你将向其中添加/删除数据。它的数据将被发送为服务器的表单回发参数。在那里你可以像访问隐藏字段一样访问它(正如我解释的那样,隐藏字段值将从回发参数重建),读取数据,解析它并做任何你想做的事情。
如果你想要一个示例代码(ASP.Net C#),请喊:)
关于javascript - 为什么不能从后面的代码 (vb.net) 读取 HTML 表格中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21396534/
我是 javascript 的新手(今天开始弄乱它)。 我正在尝试更改名为“bar”的元素(div)的高度。条形图将成为图表的一部分。 我可以毫无问题地将按钮连接到更改栏高度的函数。一切正常,除了条形
错误 -> “UIVIew”没有名为“addSubView”的成员 override func viewDidLoad() { super.viewDidLoad() // Do an
我在命令行工具项目中复制并粘贴了 main.swift 下面链接中的代码。 How do you use CGEventTapCreate in Swift? 它构建没有错误,但是当我运行时, gua
我在尝试编译我的代码时遇到以下错误。 ERROR! ..\myCode\CPOI.cpp:68:41: error: cannot dynamic_cast 'screenType' (of type
我正在尝试将多个字符串连接到一个我已为其分配内存的字符串指针。这是一个例子: char *finalNumString = malloc(sizeof(char)*1024); finalNumStr
我在使用 dup2() 和 pipe() 时遇到问题。 当我尝试将管道的写入端 dup2 到 STDOUT_FILENO 时,我收到了 EBADF。 我用 gdb 在 dup2(pout[1], ST
首先,我应该说我运行的是 Windows 7。 因此,今天早上我尝试像往常一样从我的存储库中提取数据,但我做不到。我得到了错误: The authenticity of host 'github.co
刚开始在虚拟环境中运行Python,乱用Django,无法激活虚拟环境。 花了最后 4 个小时尝试在本地终端/VS 代码上激活虚拟环境 (venv),但没有成功。 避免使用“sudo pip inst
Tidyverse 的粉丝经常给出使用小标题而不是数据框的几个优点。它们中的大多数似乎旨在保护用户免于犯错误。例如,与数据框不同,小标题: 不需要 ,drop=FALSE不从数据中删除维度的论据。 不
我一直在对 Elm 应用程序进行 docker 化时遇到问题。据我所知,我已经创建了一个完整且有效的 Docker 文件……但它不起作用。 我会解释的。 所以我的脚本在 3 个文件中运行。 首先是启动
我可以在 Controller 中使用@Autowired,例如 @RestController public class Index { @Autowired HttpServlet
我定义了一个方法和一个函数: def print(str:String) = println val intToString = (n:Int) => n.toString 现在我想创作它们。 我的问
当我控制台单独记录变量“pokemons”时,它确实返回一个数组。但是当我尝试映射它时,出现错误: TypeError: pokemons.map is not a function 我的代码: im
每当我尝试在 Python 解释器中导入 smtplib 时,都会收到此错误: ImportError: cannot import name fix_eols 我该如何解决这个问题? 编辑:这是完整
我正在使用 Meteor.js 开发一个项目,但在使用 Handlebar 时遇到了一些问题:我想检索集合的最后一项,并显示字段:其中包含 html 的文本: 这是我的javascript代码: Te
你好,我想使用 Service 实现 GestureDetector 但是我有这个错误The method onTouchEvent(MotionEvent) of type GestureServi
我正在尝试在 Controller bean 中 Autowiring 接口(interface) 在我放置的上下文配置文件中 和 我的 Controller 类是 @Controller pub
我试图在 mainwindow.cpp 中包含 QtSvg,但是当我编译时它说无法打开包含文件:QtSvg。我已经在我的 *.pro 文件中添加了这个(QT += svg)。我可以知道可能是什么问题吗
鉴于以下 PostgreSQL 代码,我认为这段代码不容易受到 SQL 注入(inject)攻击: _filter 'day' _start 1 _end 10 _sort 'article_name
我想执行以下操作。这在 MySQL 中是非法的。 PostGRESQL 中关联的 CTE(“with”子句)有效。这里的假设是 MySQL 中的子查询不是完全限定的 CTE。 请注意:这个查询显然非常
我是一名优秀的程序员,十分优秀!