一个比较奇怪的问题:关于web页面中调用window.showModalDialog的返回值

marysxj 2007-06-11 09:17:30
我的前台页面有一个ddl_bsc1008和一个文本框txt_bsc1013,由于打开模态窗口的时候要传ddl_bsc1008的值,所以不能在页面加载的时候设button的Attributes

因此我在该button的click事件中写了如下代码:
Page.RegisterClientScriptBlock("","<script language=javascript>OpenRegu('GetRegu.aspx?jlzq="+this.ddl_bsc1008.SelectedValue+"');</script>") ;

其中前台的脚本是:
function OpenRegu(s)
{
var str=window.showModalDialog(s, 'newwindow', 'height=300, width=600, top=100, left='+((screen.availWidth/2)-200)+', toolbar=0, menubar=0, scrollbars=1, resizable=0,location=0, status=0');
if(str==undefined)
{
}
else
{
if(str=="")
{}
else
{
alert(str);
document.Form1.txt_bsc1013.value=str;//.substring(0,wz1);
}
}
}

注:该处返回值能够弹出,提示document.Form1.txt_bsc1013为空或者不是对象。
请教大家,怎么处理?我觉得问题可能出在RegisterClientScriptBlock上,不知道怎么解决?
...全文
516 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
marysxj 2007-06-11
  • 打赏
  • 举报
回复
哦,明白一点了。
看来学习的还是不够。
谢谢
MaWenkun 2007-06-11
  • 打赏
  • 举报
回复
忘记了一个是输出在前面,一个在后面。你上网查一下就清楚了
marysxj 2007-06-11
  • 打赏
  • 举报
回复
MaWenkun(小三) :讲讲输出脚本位置的问题和RegisterStartupScript的使用问题吧?
marysxj 2007-06-11
  • 打赏
  • 举报
回复
我又试了把RegisterClientScriptBlock改为RegisterStartupScript,能返回值,没错误提示了。
这样似乎解决了问题,但是盼望有人能详解一下这两者的区别。
MaWenkun 2007-06-11
  • 打赏
  • 举报
回复
估计是输出javascript脚本的位置问题。
MaWenkun 2007-06-11
  • 打赏
  • 举报
回复
Page.RegisterStartupScript()用这个看看呢
marysxj 2007-06-11
  • 打赏
  • 举报
回复
document.getElementByID("<%txt_bsc1013.ClientID%>")

============================
这样也不行
marysxj 2007-06-11
  • 打赏
  • 举报
回复
document.Form1.txt_bsc1013的写法确定是对的,因为我加上一个button,设置该button的Attributes弹出窗口,返回txt_bsc1013值是没有问题的,所以我确定写法应该是对的。
我坚信问题出在RegisterClientScriptBlock上,可能与它的机理有关。
WNASP 2007-06-11
  • 打赏
  • 举报
回复
document.getElementByID("<%txt_bsc1013.ClientID%>")
MaWenkun 2007-06-11
  • 打赏
  • 举报
回复
我觉得跟你说的那个没有关系。alert(document.Form1.txt_bsc1013)为空的话肯定是你alerdocument.Form1.txt_bsc1013这种写法不对,表单名称确实叫Form1吗?txt_bsc1013确实在Form1中吗?你再仔细看看呢。要不你把你前端代码贴上来看看
WNASP 2007-06-11
  • 打赏
  • 举报
回复
bsc1013有没有被嵌套在什么控件里面比如用户控件等等,他的clientid和ID都是不一样的
marysxj 2007-06-11
  • 打赏
  • 举报
回复
谢谢楼上的。
alert(document.Form1.txt_bsc1013)这种方法我也试了,确定弹出"为空或者不是对象"的错误。
在别的button弹出window.showModalDialog的时候,我直接在页面加载的时候设了Attributes,所以返回值没有问题。
换了这种方法就不行了。
MaWenkun 2007-06-11
  • 打赏
  • 举报
回复
不会吧。看看字写错没有,或者alert(document.Form1.txt_bsc1013)看看,这样是否真的能取到txt_bsc1013
marysxj 2007-06-11
  • 打赏
  • 举报
回复
大家帮着看看,想想办法啊
一、前言 1 二、JavaScript的程序控制结构和对象 2 1、for循环语句: 2 2、while循环: 2 3、do-while循环: 2 4、JavaScript函数: 2 5、在JavaScript基于对象的编程: 3 6、内置的JavaScript对象: 3 7、处理对象的内置方法: 3 8、用户自定义对象: 4 9、使用IE的Scriptlet: 4 三、Form元素:文本框和按钮 5 1、文本框: 5 2、按钮: 5 3、文本区: 6 4、口令密码: 6 5、确认按钮和重置按钮: 6 6、文件控件: 7 7、隐藏控件: 7 8、单选钮(事件onBlur、onClick、onFocus): 7 9、复选框(onBlur、onClick、onFocus): 7 10、将复选框和单选钮组合起来: 7 11、使用elements[]数组 8 12、选择框(事件:onBluron、onChange、Focus): 9 四、鼠标和键盘事件 10 1、window.event的属性(比如window.event.x): 10 2、鼠标按下与鼠标释放事件(onMouseDown、onMouseUp) 10 3、预览页面(onMouseOver): 11 4、图像切换(onMouseOver、onMouseOut) 11 5、接收键盘输入(keyPress事件): 12 6、用鼠标点亮文本 12 五、处理图像与动画 13 1、图片数组: 13 2、IE的结构化图形控件 14 3、Web页面定位图像 15 4、图像映像 15 5、隔5ms自动换一幅图片, 15 6、用IE的DirectAnimation(DAViewerControl控件): 16 六、Document对象 16 1、对象: 16 2、document对象的属性: 16 七、Window对象 18 1、window对象: 18 2、window.open()方法:用来打开一个新窗口 18 3、警告框:alert(); 19 4、确认框:confirm() 19 5、提示框:prompt(“”,””) 20 6、对话框:showModalDialog() 20 八、浏览器、地址和历史对象 21 1、IE的”浏览器对象”属性:navigator.appName 21 2、使用地址对象:location.href 22 3、历史对象: 22 4、从URL串获取信息: 22 5、图像映像前的确认消息: 23 6、使用cookie: 23 7、改变状态栏文本: 23 九、将javascript和java连接起来 24 1、在javascript调用java的方法: 24 2、从javascript向java传递参数:通过set()方法传递参数 24 3、从java获取返回值:通过get()方法 24 4、直接在javascript使用java语句:经试验失败,提示“java未定义”。 25 5、从java访问javascript资源和方法:略 25 十、插入件 25
图书目录   第一部分 概论   第1章 从零开始   1.1 为什么选择JavaScript?    1.2 JavaScript的应用范围    1.3 JavaScript的版本    1.4 一些值得留意的特性 禁忌及如何突破这些禁忌    1.5 安全性和执行效率    1.6 一个例子--JavaScript编写的计算器    1.7 学习和使用JavaScript的几点建议    1.8 关于本书的其余部分    第2章 浏览器的JavaScript   2.1 嵌入网页的可执行内容    2.2 赏心悦目的特效    2.3 使用JavaScript来与用户交互   2.4 绕开脚本陷阱 2.5 总结    第3章 开发环境和调试方法   3.1 我能用什么来编写脚本--适合编写JavaScript的文本编辑器    3.2 来自浏览器的支持    3.3 集成开发环境    3.4 调试工具--提升开发效率的利器    3.5 定位代码和调用堆栈    3.6 浏览器捕获异常    3.7 总结    第二部分 JavaScript核心   第4章 语言结构   4.1 JavaScript的基本文法    4.2 常量和变量    4.3 表达式和运算符符    4.4 控制语句 句    4.5 总结    第5章 数据类型   5.1 基本数据类型    5.2 数组和对象    5.2.1 数组    5.2.2 对象--一个构造函数的例子    5.3 函数类型--一个函数和闭包的例子    5.4 神奇的null和undefined    5.4.1 null    5.4.2 undefined--独一无二的类型    5.5 正则表达式    5.5.1 正则表达式常量    5.5.2 正则表达式对象    5.6 值类型和引用类型    5.6.1 什么是值和值的引用    5.6.2 使用值和使用引用    5.6.3 值与引用的相互转换:装箱和拆箱    5.7 类型识别与类型转换    5.7.1 运行时类型识别--两个运行的类型识别的例子    5.7.2 类型的自动转换及其例子    5.7.3 强制类型转换及其例子    5.7.4 高级用法--一个自定义类型转换的例子    5.8 警惕数值陷阱    5.8.1 困惑--浮点数的精度问题    5.8.2 误差的修正及其例子    5.9 总结    第6章 函数   6.1 函数定义和函数调用    6.1.1 函数的定义    6.1.1.1 声明式函数定义与函数表达式及其例子    6.1.1.2 JavaScript函数的奥妙——魔法代码    6.1.2 函数的调用    6.2 函数的参数    6.2.1 形参与实参    6.2.2 Arguments对象    6.2.2.1 一个使用Arguments对象检测形参的例子    6.2.2.2 一个使用Arguments对象接收任意个数参数的例子    6.2.2.3 一个使用Arguments对象模拟函数重载的例子    6.2.3 参数类型匹配--一个利用arguments实现函数重载机制的例子    6.3 函数的调用者和所有者    6.3.1 函数的调用者    6.3.2 函数的所有者--一个为函数指定所有者的例子    6.3.3 动态调用--外来的所有者    6.4 函数常量和闭包    6.4.1 匿名的函数    6.4.2 函数引用    6.4.3 函数参数和函数返回值及其例子    6.4.4 高级用法--闭包作为局部域与延迟求值    6.5 高级抽象--Function类型和函数模版    6.5.1 动态创建函数--一个利用Function实现Lambda算子的例子    6.5.2 模式--函数工厂及其实例    6.6 总结    第7章 对象   7.1 什么是对象    7.2 对象的属性和方法    7.2.1 对象的内置属性    7.2.2 为对象添加和删除属性    7.2.3 反射机制--枚举对象属性    7.3 对象的构造    7.3.1 构造函数--一个双精度浮点数封装类的例子    7.3.2 缺省构造和拷贝构造    7.3.3 对象常量    7.4 对象的销毁和存储单元的回收    7.5 JavaScript的内置对象    7.5.1 Math对象    7.5.2 Date对象--创建一个简单的日历    7.5.3 Error对象    7.5.4 其他内置对象    7.5.5 特殊的对象--全局对象与调用对象    7.6 总结    第8章 集合   8.1 数组和数组元素    8.1.1 数组的构造    8.1.2 数组常量    8.1.3 数组元素    8.2 数组对象和方法    8.2.1 查找元素    8.2.2 添加和删除元素    8.2.3 集合操作及其范例    8.2.3.1 join()方法    8.2.3.2 reverse()方法    8.2.3.3 sort()方法    8.2.3.4 concat()方法    8.2.3.5 slice()方法    8.2.3.6 splice()方法    8.2.3.7 toSgring()方法和toLocaleString()方法    8.3 哈希表    8.3.1 什么是哈希表    8.3.2 哈希表的构造    8.3.3 实现一个简单的HashTable类型    8.4 高级用法--集合操作和闭包    8.5 总结    第9章 字符串   9.1 字符串的构造    9.1.1 字符串常量    9.1.2 转义序列    9.1.3 字符串构造函数    9.2 字符串的使用    9.2.1 比较字符串    9.2.2 抽取和检索子串    9.2.3 连接拆分字符串    9.2.4 字符串的模式匹配--一个字符串格式校验的例子    9.2.5 其他方法    9.3 字符串与字符数组    9.4 字符串与文本处理--JavaScript棋谱阅读器(一)    9.4.1 需求分析--什么是棋谱和棋谱阅读器    9.4.2 系统设计--棋谱和棋盘数据的字符串描述    9.4.3 系统实现--解析和处理棋谱    9.4.4 完整的棋谱阅读器    9.5 总结    第10章 正则表达式   10.1 什么是正则表达式    10.1.1 正则表达式的概念    10.1.2 JavaScript的正则表达式    10.2 正则表达式的规则    10.2.1 直接量字符    10.2.2 字符类和布尔操作    10.2.3 重复    10.2.4 选择、分组和引用    10.2.5 指定匹配的位置    10.2.6 标志——高级模式匹配的规则    10.3 模式匹配    10.3.1 用于模式匹配的String方法及其例子    10.3.2 用于模式匹配的RegExp方法    10.3.2.1 一个使用exec()方法从身份证号码获取生日的例子    10.3.2.2 一个使用test()方法遍历字符串的例子    10.4 关于正则表达式包装对象    10.4.1 RegExp对象——利用正则表达式实现全文检索    10.4.2 RegExp的实例属性    10.5 强大的正则表达式    10.5.1 分析正则表达式的局部    10.5.2 一个例子--强大的在线编辑器    10.5.3 构造新的文法--一个在JSVM实现JSVM2解析器的例子    10.6 高级用法    10.7 用正则表达式处理文本    10.7.1 创建一个计价公式编辑器    10.7.1.1 需求分析--什么是计价公式编辑器    10.7.1.2 系统实现--计价公式编辑器的实现    10.7.2 创建一个同步滚动歌词播放器    10.7.2.1 需求分析--什么是同步滚动歌词播放器    10.7.2.2 系统设计与实现--处理LRC歌词    10.8 总结    第三部分 浏览器与DOM   第11章 浏览器对象   11.1 Window对象--最基本的浏览器对象    11.1.1 Window对象概览    11.1.2 Window对象的生命周期    11.1.3 Window对象的属性和方法    11.1.4 一个多窗口应用的例子    11.2 Document对象--浏览器窗口文档内容的代表    11.2.1 Document对象概览    11.2.2 动态生成的文档    11.2.3 Document对象的基本信息    11.2.4 Document对象的外观属性    11.2.5 Document子对象接口    11.2.5.1 一个遍历Anchors对象的例子    11.2.5.2 一个颠倒图片的例子    11.3 对话框和状态栏    11.3.1 创建一个简单对话框    11.3.2 其他类型的对话框    11.3.2.1 模拟对话框--创建一个窗口对话框及一个对话框阻塞进行的例子    11.3.2.2 showModalDialog和showModelessDialog--非W3C或ECMAScrip标准    11.3.3 状态栏    11.4 框架--上层的Window对象    11.4.1 多框架应用    11.4.2 框架之间的关系    11.4.3 框架的命名    11.4.4 子框架的JavaScript    11.4.5 框架的应用--多页签显示    11.4.5.1 什么是页签    11.4.5.2 页签的实现--创建一个包含页签的页面    11.5 表单和表单对象    11.5.1 Form对象及其范例    11.5.2 定义表单元素    11.5.3 客户端表单校验及其例子    11.5.4 创建一款通用的客户端表单校验组件    11.6 其他内置对象    11.6.1 Navigator对象--浏览器总体信息的代表    11.6.2 Screen对象--提供显示器分辨率和可用颜色数量信息    11.6.3 Location对象--当前窗口显示文档的URL的代表    11.6.4 History对象--一个有趣的对象    11.7 总结    第12章 文档对象模型   12.1 什么是DOM    12.1.1 把文档表示为树    12.1.2 树的节点    12.1.3 DOM对象的通用属性和方法    12.1.4 HTML结构和DOM对象的关系--用JavaScript通过DOM来操作HTML文档    12.2 DOM与浏览器实现    12.2.1 关于DOM HTML API    12.2.2 DOM的级别和特性    12.2.3 DOM的一致性    12.2.4 差异性--浏览器的DOM方言    12.3 一组“盒子”--DOM元素    12.3.1 嵌套的“盒子”    12.3.2 “盒子”和“盒子”内容的分类    12.4 创建和删除节点    12.4.1 构造全新的节点    12.4.2 平面展开--通过文档元素直接创建    12.4.3 回收空间--删除不用的节点    12.5 访问和操纵DOM节点    12.5.1 打开每一个盒子--遍历节点    12.5.2 弄清层级关系--父子与兄弟    12.5.3 如何搜索特定节点    12.5.4 克隆节点--一个使用cloneNode()复制表格的例子    12.5.5 移动节点及其范例    12.5.6 关于添加新行和排序的小技巧    12.6 读写数据--添加、修改和删除属性    12.7 外观与行为    12.7.1 DOM样式属性    12.7.2 控制DOM元素的显示与隐藏    12.7.3 改变颜色和大小--一个简单有趣的例子    12.7.4 改变位置--创建一个绕圆圈旋转的文字    12.7.5 编辑控制及其范例    12.7.6 改变样式及其范例    12.7.7 改变行为    12.8 XML DOM    12.8.1 什么是XML DOM    12.8.2 如何使用XML DOM--一个利用XML实现多级关联下拉选择框的例子    12.9 总结    第13章 事件处理   13.1 什么是事件    13.1.1 消息与事件响应    13.1.2 浏览器的事件驱动机制    13.2 基本事件处理    13.2.1 事件和事件类型    13.2.2 事件的绑定    13.2.3 直接调用事件处理函数    13.2.4 事件处理函数的返回值    13.2.5 带参数的事件响应及其例子    13.2.6 “this”关键字    13.3 标准事件模型    13.3.1 起泡和捕捉--浏览器的事件传播    13.3.2 事件处理函数的注册    13.3.3 把对象注册为事件处理程序    13.3.4 事件模块和事件类型    13.3.5 关于Event接口    13.3.5.1 Event接口的属性和方法    13.3.5.2 UIEvent接口的属性    13.3.5.3 MouseEvent接口的属性    13.3.5.4 MutationEvent接口    13.3.6 混合事件模型    13.3.7 合成事件    13.4 浏览器的事件处理模型实现    13.4.1 Internet Explorer事件模型    13.4.1.1 关于IE事件注册    13.4.1.2 IE Event对象的属性    13.4.1.3 IE的事件起泡    13.4.2 Netscape 4事件模型    13.4.2.1 Netscape 4的事件捕捉及其范例    13.4.2.2 Netscape 4 Event对象的属性    13.5 回调与用户自定义事件    13.5.1 事件处理模式--一个实现简单事件处理模式的例子    13.5.2 用户事件接口的定义    13.5.3 事件代理和事件注册--一个实现标准事件接口的例子    13.5.4 标准模式--事件分派和接收    13.6 一个例子--增强数据表格    13.6.1 什么是增强数据表格    13.6.2 一个采用两重table嵌套方式固定表头的例子    13.6.3 可变列宽的实现    13.6.4 标记行--呈现有别于其他行的背景色    13.6.5 小技巧--将代码添加到样式表    13.7 总结    第14章 级联样式表   14.1 什么是级联样式表    14.1.1 CSS样式和样式表    14.1.2 CSS的标准化    14.1.3 浏览器支持的CSS    14.2 JavaScript与CSS    14.2.1 CSS和DOM的关系    14.2.2 CSS和IE的关系    14.2.3 浏览器的CSS兼容性    14.3 控制CSS改变页面风格    14.3.1 实现结构与表现的分离及其范例    14.3.2 使用JwaScript和CSS实现页面多种风格的实时替换    14.4 总结    第15章 数据存储的脚本化   15.1 什么是cookie    15.1.1 浏览器和客户端cookie    15.1.2 cookie的属性    15.2 cookie的客户端存取    15.2.1 cookie的存储    15.2.2 cookie的读取    15.3 cookie的限制    15.4 cookie示例--让问候更加温暖    15.5 cookie对象的封装    15.6 什么是userData    15.6.1 浏览器和客户端userData    15.6.2 userData的声明    15.6.3 userData的属性和方法    15.7 userData的客户端存取    15.7.1 userData的存储和读取    15.7.2 userData的安全性    15.8 userData的限制    15.9 userData与cookie的对比    15.10 userData示例--一个利用userData实现客户端保存表单数据的例子    15.11 总结    第四部分 数据交互   第16章 同步和异步   16.1 什么是同步和异步    16.2 超时设定和时间间隔    16.3 定时器使用--侦听与拦截    16.3.1 标准模式--监视器及其范例    16.3.2 使用定时器时应当注意的问题    16.4 一个例子--漂亮的Web时钟    16.4.1 什么是Web时钟?    16.4.2 最简单的Web时钟    16.4.3 Web时钟的设计    16.4.4 完整的Web时钟源代码    16.5 总结    第17章 XML DOM和XML HTTP   17.1 什么是XML DOM对象    17.1.1 XML DOM简介    17.1.2 浏览器支持的XML DOM接口    17.1.2.1 XML DOM标准接口    17.1.2.2 IE的XML DOM组件    17.1.2.3 操作XML文档--一个使用MSXML操作XML文档的例子    17.2 XML DOM的版本兼容性--XML DOM的跨浏览器应用    17.3 XML DOM的错误处理    17.3.1 处理错误信息的ParseError对象    17.3.2 包含错误信息的文档    17.4 XML DOM操作XML文档    17.4.1 访问节点    17.4.2 创建新节点    17.4.3 移动和修改节点及其范例    17.4.4 读写节点属性和读写数据    17.4.5 保存文档    17.5 一个例子--JavaScript棋谱阅读器(二)    17.5.1 用XML描述棋谱    17.5.2 将XML棋谱转换为SGF棋谱    17.6 什么是XML HTTP对象    17.6.1 XML HTTP对象简介    17.6.2 浏览器支持的XML HTTP对象    17.7 通过XML HTTP发送请求    17.7.1 建立连接    17.7.2 发送请求    17.8 读取和设定HTTP头    17.8.1 什么是HTTP头    17.8.2 读取和设定HTTP头    17.9 服务器应答    17.9.1 同步和异步应答及其例子    17.9.2 包含应答文本内容的ResponseText 和ResponseXML    17.10 总结    第18章 Ajax简介    第19章 标准和兼容性    第20章 信息安全   第五部分 超越JavaScript   第21章 面向对象   第22章 闭包与函数式编程   第23章 模块级管理   第24章 动态构建    第25章 执行效率   25.1 为什么要讨论执行效率    25.2 封闭的代价    25.3 盒子里的流火    25.4 动态--魔鬼与天使    25.5 让代码轻舞飞扬    25.6 总结    第26章 应用框架   26.1 应用框架概览   26.2 为什么要设计应用框架    26.3 如何设计应用框架    26.4 框架的实际应用--在Silverna 2.0框架上开发的Widgets    26.5 已存在的应用框架    26.6 总结 编辑本段 图书章节

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧