我在一个网页中动态创建了“编辑”和“删除”按钮 ,过程代码如下:
Sub ShowButton(i)
Response.Write("<td>")
Response.Write("<input type='button'")
Response.Write(" name='edit "& i &" '")
Response.Write(" value='编辑'")
Response.Write(" onclick='doedit(" & i & ")'>")
Response.Write(" ")
Response.Write("<input type='button'")
Response.Write(" name='del" & i & "'")
Response.Write(" value='删除'")
Response.Write(" onclick='dodel(" & i & ")'>")
Response.Write("</td>")
End Sub
' 注释:定义过程用于生成文本框控件
Sub ShowTextBox(idname, i, tbsize, tbmaxlen, tbvalue)
Response.Write("<td><input type='text'")
Response.Write(" name='" & idname & i & "'")
Response.Write(" size='" & tbsize & "'")
Response.Write(" maxlength='" & tbmaxlen & "'")
Response.Write(" value='" & tbvalue & "'")
Response.Write(" style='border:none'")
Response.Write(" readonly></td>")
End Sub
也就是通过传递的变量‘i’,动态的生成这两个按钮。
其中的响应函数是doedit(i)和dodel(i),相应的过程代码如下:
Sub doedit(i)
Dim edid, dlid,btitle
' 注释:生成当前记录行中的控件对象名称
edid = "edit" & i : dlid = "del" & i : btitle="btitle" & i
' 注释:根据按钮的标题文本内容来执行相应操作
If fset1.elements(edid).value = "编辑" Then ' 将记录行设置为编辑状态
' 注释:修改按钮的提示标题
fset1.elements("edit001").value = "确定"
fset1.elements(dlid).value = "取消"
' 注释:将输入焦点移到标题文本框
fset1.elements(btitle).focus
End if
End Sub
删除的操作过程就不写了,刷新网页,按钮显示正确,但是当点击编辑以后,就弹出了对话框:
错误:出现了运行时间错误,是否要进行调试
错误:缺少对象:'fset1.elements(...)'
在网页中我的调用语句是:
<form name="fset1" >
CAll ShowTextBox("btitle",bid1(counter),8,5,title1(counter))
Call ShowButton(bid1(counter))
</form>
我已经试验过,传递的变量都没有什么问题,请各位高手多多指教,如何解决上面那个问题!!多谢,多谢!!!!
这些代码是按照机械工业出版社一本书《asp 数据库开发经典实例精解》改写的。
[此贴子已经被作者于2006-4-13 12:46:35编辑过]