新微赢技术网
标题:
[求助][提交表单的问题]
[打印本页]
作者:
泡个帅滴上床
时间:
2010-1-14 07:52
标题:
[求助][提交表单的问题]
我在一个网页中动态创建了“编辑”和“删除”按钮 ,过程代码如下:
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 数据库开发经典实例精解》改写的。
作者:
无民
时间:
2010-1-14 07:52
fset1.edit001.value = "确定"
作者:
漫步烟雨中
时间:
2010-1-14 07:52
上面那位大侠好
fset1.elements("edit001").value = "确定"
上这句话是我试验时该的
原来应该是:
fset1.elements(edit).value = "确定"
因为edit是一个变量,用来处理不同的按钮
我用你的方法改写了代码,如下:
If fset1.edit1.value = "编辑" Then ' 将记录行设置为编辑状态
' 注释:修改按钮的提示标题
fset1.edit1.value = "确定"
fset1.elements(dlid).value = "取消"
…………
它又提示错误如下:
错误:对象不支持此属性或方法:'fset1.edit1'
请指教,多谢了!!!!
作者:
^o^星禾じ☆v
时间:
2010-1-14 07:53
LZ的bid1函数内容是什么?
作者:
小猫钓鱼tp
时间:
2010-1-14 07:53
<%
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
%>
<script language="vbscript">
Sub doedit(i)
Dim edid, dlid,btitle
'' 注释:生成当前记录行中的控件对象名称
edid = "edit" & i : dlid = "del" & i : btitle="btitle" & i
'' 注释:根据按钮的标题文本内容来执行相应操作
If document.all(edid).value = "编辑" Then '' 将记录行设置为编辑状态
'' 注释:修改按钮的提示标题
document.all(edid).value = "确定"
document.all(dlid).value = "取消"
'' 注释:将输入焦点移到标题文本框
document.all(btitle).focus
''用表单名加表单元素名时,中间的表单元素名就不能用变量代替,为什么我也说不清,只是没次用都回出现这样的情况!
End if
End Sub
</script>
<form name="fset1" >
<%
CAll ShowTextBox("btitle","1",8,5,"2")
Call ShowButton("1")
''这里我给换成可固定值,因为不知道LZ的bid1函数是怎么写的!
%>
</form>
作者:
绝对标致
时间:
2010-1-14 07:53
edit1不就是提交按钮吗?
作者:
阳光aiq浪子
时间:
2010-1-14 07:53
多谢楼上各位大侠的热情帮助 ,应该是我把问题没有说明白,代码有些长,我怕全贴出来影响阅读。(不好意思,个人语言表达能力不太好)
现在我们这里网速比较慢 ,打开一个网页需要好半天,郁闷。。。。。
一:这个是使用ASP基于VBscript脚本编写的,
二:上面那个bid1是一个数组,里面存储着对应的按钮的编号(编号是从数据库中读取的id号),
我把网页运行时的图片截取了一个,应该能够说得更明白些:
那些文字是读取的数据库中的title,后面对应的按钮就是上面自动生成的。以相应的id号取名,比如”计算机“对应的“编辑”按钮的name=edit1。我想点击“编辑”按钮以后可以修改数据库中的内容,但是点击后就会出现上面的问题。
三:我个人认为应该是按钮的name没有传递过去,可是不知道是否这样,还请各位高手多多指点!!!
四:阳春白雪的那个方法我正在调试,不过我想实现的是当点击相应的“编辑”按钮,可以修改对应的title,就是前面的那些文字,不是全部都进行修改。
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2