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
下拉框怎么有两个onchange事件,一个客户端一个服务器端,删除一个试试。
UpdatePanel 这个控件的作用:在回传的时候,只是更新这个范围内的页面内容 而你的
<body onload="Load()"> 并没有包含在你例子中的updatepanel之内。所以body并没有重新加载。所以就不会触发你的load事件。
解决办法:在updatepannel范围内注册一段脚本来触发load事件。
总之就是让load执行。在updatepannel之外它是不执行的,它是不执行的
2楼的正解