最近在用ASP写一个页面 ,通过按钮调用一个写在页面内的JS函数,在IE6中无论如何都没有效果,然而在火狐中和SOGOU中都没有问题,也想过把JS代码写入一个文件,无奈JS代码和VBS代码是混合写的,不知道应该如何独立出来。我的关键代码如下 ,在按钮查询中 添加onclick事件调用JS函数 findcl 并且传递 参数(参数是一个SELECT的当前值),然后函数查询数据库相应内容 写入第二个作为列表的select。在以前写过的页面中也有过基本类似的做法,通过按钮的onclick来调用页面中的JS函数,也曾出现过相同的问题,但是最后不知道什么原因就好了。现在又遇到同样的问题,很是头疼。这个问题似乎只在IE6中出现,而且网上说的标记charset根本没有任何效果 ,我JS函数写在网页中,应该不存在编码方式的问题吧。我是特别新的新手,跪求高手给出解决方案。如果这个BUG解决不了,请给出一个合理的做法来实现这一功能,谢谢。<script language ="javascript" type="text/javascript">
Cls = new Array();
<%
sqlc = "select 业务,材料 from dbo.[cxinfo] where 部门='"&bumen&"'"
set rsc = gz.execute(sqlc)
i = 0
do while not rsc.eof
%>
Cls[<%=i%>] =new Array("<%=rsc("业务")%>","<%=rsc("材料")%>");
<%
i = i + 1
rsc.movenext
Loop
rsc.close
set rsc = nothing
%>
function findcl(yewu){
var yewu = yewu;
var i;
document.form1.cl.length = 0 ;
for (i=0;i<Cls.length;i++){
if(Cls[i][0]==yewu){
document.form1.cl.options[document.form1.cl.length] = new Option(Cls[i][1],Cls[i][1]);
}
}
}
</script>
<td width="10%" align="center">
<input type="button" name="查询" id="查询" value="查询" onClick="findcl(document.form1.yw[document.form1.yw.selectedIndex].value)"/>
</td>
</tr>
</table>
<select name="cl" id="cl" size="20" style="width:100%; border:thick"></select>
Cls = new Array();
<%
sqlc = "select 业务,材料 from dbo.[cxinfo] where 部门='"&bumen&"'"
set rsc = gz.execute(sqlc)
i = 0
do while not rsc.eof
%>
Cls[<%=i%>] =new Array("<%=rsc("业务")%>","<%=rsc("材料")%>");
<%
i = i + 1
rsc.movenext
Loop
rsc.close
set rsc = nothing
%>
function findcl(yewu){
var yewu = yewu;
var i;
document.form1.cl.length = 0 ;
for (i=0;i<Cls.length;i++){
if(Cls[i][0]==yewu){
document.form1.cl.options[document.form1.cl.length] = new Option(Cls[i][1],Cls[i][1]);
}
}
}
</script>
<td width="10%" align="center">
<input type="button" name="查询" id="查询" value="查询" onClick="findcl(document.form1.yw[document.form1.yw.selectedIndex].value)"/>
</td>
</tr>
</table>
<select name="cl" id="cl" size="20" style="width:100%; border:thick"></select>
解决方案 »
- 求教,请问有实现下面表格功能的Web表格控件吗,在线等
- 请问这样写有什么意义?
- 我该学习什么?谁来告诉我路怎么走下去。。。
- 求正则提取字符串
- firefox上怎样实现pasteHTML()的功能?
- " + myOperator + "和" myOperator "困惑
- web
- 一个网页互动问题
- 救命呀!请问我要做个当鼠标点击文本框时就可弹出时间选择器,可选着年份和日期。谢谢!
- 一个关于iframe的问题!高手指点啊!
- exjs3 grid中有些数据行需要checkbox,有些数据行不需要checkbox,请问怎么实现啊???????????????????????
- ext formpanel 的item disable()以后 提交出现问题。
再看下findcl方法能不能取到(用alert(findcl)查看)一步步的调试,分析无效果的原因,input[button]的onclick事件ie6显然是支持的,所以你就一步步跟踪脚本的走向就行了。
作为一个新手 我表示对alert不太懂 不过我用火狐的fierbug调试 显然是提示findcl函数未定义 可是我在程序中之前也用了类似的方法来定义函数 只有这个不支持 在之前做过的页面中使用的一样的方法和函数 甚至连函数名都一样 不知道该如何解决这个问题
function cxcl(yewu){
alert("函数调用成功!");
var y = yewu;
var i;
document.form1.cl.length = 0 ;
for (i=0;i<Cls.length;i++){
if(Cls[i][0]==y){
document.form1.cl.options[document.form1.cl.length] = new Option(Cls[i][1],Cls[i][1]);
}
}
}
我这么写就行了吧?
这都是简单的调试方法,自己分析原因,跟代码,调试代码,最后得出结论才是最好的学习方式。