| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:[求助][提交表单的问题]
只看楼主 加入收藏
gthank
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-6
收藏
 问题点数:0 回复次数:6 
[求助][提交表单的问题]

我在一个网页中动态创建了“编辑”和“删除”按钮 ,过程代码如下:


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("&nbsp;")
   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编辑过]

搜索更多相关主题的帖子: 表单 
2006-04-13 11:44
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
fset1.edit001.value = "确定"
2006-04-13 11:49
gthank
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-6
收藏
得分:0 
上面那位大侠好
fset1.elements("edit001").value = "确定"
上这句话是我试验时该的
原来应该是:
fset1.elements(edit).value = "确定"
因为edit是一个变量,用来处理不同的按钮


我用你的方法改写了代码,如下:
If fset1.edit1.value = "编辑" Then ' 将记录行设置为编辑状态

' 注释:修改按钮的提示标题
fset1.edit1.value = "确定"
fset1.elements(dlid).value = "取消"

…………

它又提示错误如下:
错误:对象不支持此属性或方法:'fset1.edit1'


请指教,多谢了!!!!
2006-04-13 12:59
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
LZ的bid1函数内容是什么?

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2006-04-13 13:33
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 

<%
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("&nbsp;")
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>


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2006-04-13 13:48
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
edit1不就是提交按钮吗?
2006-04-13 13:48
gthank
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-6
收藏
得分:0 

多谢楼上各位大侠的热情帮助 ,应该是我把问题没有说明白,代码有些长,我怕全贴出来影响阅读。(不好意思,个人语言表达能力不太好)

现在我们这里网速比较慢 ,打开一个网页需要好半天,郁闷。。。。。

一:这个是使用ASP基于VBscript脚本编写的,
二:上面那个bid1是一个数组,里面存储着对应的按钮的编号(编号是从数据库中读取的id号),
我把网页运行时的图片截取了一个,应该能够说得更明白些:
[IMG]http://photo.163.com/photos/gthank/19776771/1092669384/[/IMG]



那些文字是读取的数据库中的title,后面对应的按钮就是上面自动生成的。以相应的id号取名,比如”计算机“对应的“编辑”按钮的name=edit1。我想点击“编辑”按钮以后可以修改数据库中的内容,但是点击后就会出现上面的问题。

三:我个人认为应该是按钮的name没有传递过去,可是不知道是否这样,还请各位高手多多指点!!!

四:阳春白雪的那个方法我正在调试,不过我想实现的是当点击相应的“编辑”按钮,可以修改对应的title,就是前面的那些文字,不是全部都进行修改。

2006-04-13 15:11
快速回复:[求助][提交表单的问题]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037775 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved