设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 51|回复: 7
打印 上一主题 下一主题

[求助][提交表单的问题]

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-14 07:52:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在一个网页中动态创建了“编辑”和“删除”按钮 ,过程代码如下:


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 数据库开发经典实例精解》改写的。
2#
发表于 2010-1-14 07:52:54 | 只看该作者
fset1.edit001.value = "确定"
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-14 07:52:58 | 只看该作者
上面那位大侠好
fset1.elements("edit001").value = "确定"
上这句话是我试验时该的
原来应该是:
fset1.elements(edit).value = "确定"
因为edit是一个变量,用来处理不同的按钮


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

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

…………

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


请指教,多谢了!!!!
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-14 07:53:02 | 只看该作者
LZ的bid1函数内容是什么?
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-14 07:53:06 | 只看该作者
<%
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>
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-14 07:53:10 | 只看该作者
edit1不就是提交按钮吗?
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-14 07:53:14 | 只看该作者
多谢楼上各位大侠的热情帮助 ,应该是我把问题没有说明白,代码有些长,我怕全贴出来影响阅读。(不好意思,个人语言表达能力不太好)

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

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




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

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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 22:50 , Processed in 0.147837 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表