首页 新闻 搜索 专区 学院

ajax 为什么我加使用了AJAX后 我的JS就没有效果了

0
[已关闭问题] 关闭于 2010-08-28 19:27

ajax 为什么我加使用了AJAX后 我的JS就没有效果了 下面是代码

其中的 visible 是外部css文件的一段代码 代码如下

.visible
{
 display :none ;
}

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="manage.aspx.cs" Inherits="sanyue1.manage" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head runat="server">
6 <title>添加</title>
7 <link type="text/css" href="css/manage.css" rel="Stylesheet" />
8
9 <script language="javascript" type="text/javascript">
10 function Vild()
11 {
12 var text=document.getElementById("txtneirong");
13 if(text.value=="")
14 {
15 alert ("请输入添加的内容");
16 return false;
17 }
18 return true ;
19 }
20 function Select()
21 {
22 var text=document.getElementById("ddlxuanzhe");
23 var context=document.getElementById("spanjsjroom");
24 if(text.value=="机器")
25 {
26
27 if(context.className.indexOf ("visible")>-1)
28 {
29 context.className =context.className.replace("visible","");
30 }
31 }
32 else
33 {
34 if(context.className.indexOf ("visible")==-1)
35 {
36 context.className +="visible";
37 alert(context.className);
38 }
39 }
40
41 }
42 function Load()
43 {
44 var text=document.getElementById("ddlxuanzhe");
45 if(text.value!="机器")
46 {
47 text=document.getElementById("spanjsjroom");
48 text.className+="visible";
49 }
50
51
52 }
53 </script>
54
55 </head>
56 <body onload="Load()">
57 <form id="form1" runat="server">
58 <div id="divmian">
59 <asp:ScriptManager ID="ajaxscript" runat="server">
60 </asp:ScriptManager>
61 <asp:UpdatePanel ID="ajaxup" runat="server">
62 <ContentTemplate>
63 <div id="divadd">
64 <asp:Label ID="lblxuanzhe" runat="server" Text="添加"></asp:Label>
65 <asp:DropDownList ID="ddlxuanzhe" runat="server" OnSelectedIndexChanged="ddlxuanzhe_SelectedIndexChanged"
66 onchange="Select();" AutoPostBack="True">
67 <asp:ListItem>机房</asp:ListItem>
68 <asp:ListItem>机器</asp:ListItem>
69 <asp:ListItem>人员</asp:ListItem>
70 <asp:ListItem>机器部件</asp:ListItem>
71 </asp:DropDownList>
72 <span id="spanjsjroom">
73 <asp:Label ID="lblroom" runat="server" Text="选机房"></asp:Label>
74 <asp:DropDownList ID="ddlroom" runat="server">
75 </asp:DropDownList>
76 </span>
77 <asp:Label ID="lblneirong" runat="server" Text="内容"></asp:Label>
78 <asp:TextBox ID="txtneirong" runat="server"></asp:TextBox>
79 <asp:Button ID="btnadd" runat="server" Text="添加" OnClick="btnadd_Click" />
80 </div>
81 </ContentTemplate>
82 </asp:UpdatePanel>
83 </div>
84 </form>
85 </body>
86 </html>
87

 

三月软件工作室——任忌的主页 三月软件工作室——任忌 | 小虾三级 | 园豆:524
提问于:2010-08-24 14:57
< >
分享
所有回答(3)
0

下拉框怎么有两个onchange事件,一个客户端一个服务器端,删除一个试试。

Astar | 园豆:40805 (高人七级) | 2010-08-24 15:08
但是我用alert弹框试试过了 它可以实现 但是执行过服务端事件后 js代码实现的效果就没有了
0

UpdatePanel 这个控件的作用:在回传的时候,只是更新这个范围内的页面内容 而你的

<body onload="Load()"> 并没有包含在你例子中的updatepanel之内。所以body并没有重新加载。所以就不会触发你的load事件。

解决办法:在updatepannel范围内注册一段脚本来触发load事件。

总之就是让load执行。在updatepannel之外它是不执行的,它是不执行的

邢少 | 园豆:10926 (专家六级) | 2010-08-24 15:10
0

2楼的正解

jowo | 园豆:2834 (老鸟四级) | 2010-08-24 17:15
我说的是onchange="Select();"这个事件
如果你说的是ID为ddlxuanzhe 的DropDownList onchange="Select();"这个事件 肯定为先执行的。跟ajax UpdatePanel 控件没有关系。
支持(0) 反对(0) jeff-zheng | 园豆:480 (菜鸟二级) | 2010-08-25 09:21
在没有使用 ajax UpdatePanel时候我的js代码就没有问题 我还弹框是了一下 select函数执行了 效果也得到了 但是 单击过弹框的确定按钮以后效果有没有了
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册