我已经找了将近一个小时了,仍然没有找到答案。基本上-我想点击一个HTML单元格,并获得该HTML单元格的当前值,并将该值分配给VBScript变量。老实说,如果有人能告诉我怎么做第一步,我会很高兴的。像这样,只有在VBScript -获取HTML表格单元格值在一行通过点击它。
这里唯一的问题是,表是在脚本的前面完整地生成的,然后放在Span标记中。
任何帮助都将是非常感激的。
编辑:好的,所以这是我现在运行的。我的头已经敲了一个多小时了:
Sub Display_Click
Dim conn, str1
MainTitle.InnerHTML = "<h2>Main Call Queue</h2>"
Set conn = CreateObject("ADODB.Connection")
conn.Open "DSN=Login"
Set rsData = conn.Execute("SELECT * FROM MainTable WHERE CallStat='Open' ORDER BY P_ID DESC;")
str1 = "<table border=1 cellpadding=5><tr><th>Call Id</th><th>Full Name</th><th>Postcode</th><th>Site Code</th><th>Problem Title</th><th>Category</th><th>SubCategory</th><th>Call Status</th></tr>"
Do Until rsData.EOF = True
str1 = str1 & "<tr onClick=" & chr(34) & "Cell ME" & chr(34) & "><td>" & rsData("P_Id") & "</td><td>" & rsData("FirstN") & "</td><td>" & rsData("PostCode") & "</td><td>" & rsData("SiteNumber") & "</td><td>" & rsData("PTitle") & "</td><td>" & rsData("PCat") & "</td><td>" & rsData("SCat") & "</td><td>" & rsData("CallStat") & "</td></tr>"
rsData.moveNext
Loop
str1 = str1 & "</table>"
MainDisplay.InnerHTML = str1
conn.Close
Call CheckState
End Sub
我确信错误在这个块的某个地方。表生成与3行,我得到错误3次。
您能影响生成的元素吗(这样它们就会带有额外的属性)?如果是这样,下面的内容应该可以工作。
VBscript:
Sub Foo(obj)
MsgBox obj.innerHtml
End Sub
HTML: <table id="tableID">
<tr>
<td onClick="Foo Me">row 1, cell 1</td>
<td onClick="Foo Me">row 1, cell 2</td>
</tr>
<tr>
<td onClick="Foo Me">row 2, cell 1</td>
<td onClick="Foo Me">row 2, cell 2</td>
</tr>
</table>
属性onClick="..."
为标记添加了处理单击事件的过程或函数。Foo()
是一个接受一个参数(obj
)的过程。Me
是对发生点击事件的对象的引用(参见这里)。调用Foo Me
将对<td>
元素的引用传递给过程Foo
,以便过程有效地运行MsgBox Me.innerHtml
。
删除chr(34)
,并在onClick
后插入一个函数来存储该值。
"onClick = function()" not chr(34) & "Cell Me" & Chr(34)