2。手动的局部刷新iframe 执行 document.MyIframeName.location.reload()即可 “MyIframeName”为定义的iframe的name值, 例如: _"> 2。手动的局部刷新iframe 执行 document.MyIframeName.location.reload()即可 “MyIframeName”为定义的iframe的name值, 例如:"> 2。手动的局部刷新iframe 执行 document.MyIframeName.location.reload()即可 “MyI">

用AJAX编写用户注册实例及技术小结(局部刷新)

局部刷新

1。
  定时的局部刷新iframe,在iframe的head处定义timeout即可(没试过)

    <.META HTTP-EQUIV="refresh" CONTENT="5">



2。
手动的局部刷新iframe

    执行 document.MyIframeName.location.reload()即可  
    “MyIframeName”为定义的iframe的name值,
  例如:

  <TABLE CELLPADDING=3 BORDER=1 CELLSPACING=0 bordercolorlight=#333333  bordercolordark=#efefef>
<TR> <TD>
 <iframe name="MyIframeName" id=211 marginWidth=0 src="createXML.asp" frameBorder="0" width="250" height="418" scrolling="yes"></iframe>
</TD> </TR>
</TABLE>
一个论坛帖子,还是值得一看的。
请教一个用iframe局部刷新的问题
 
function   ref(name)  
  {  
  var   linkname=name;  
  documents.iframe.src=linkname;  
  document.iframe.location.reload();  
  }  
  </script>  
                               
  <iframe   name="iframe"   src="home.htm"></iframe>  
   
  <table><tr><td>  
  -   <a   href="gsjianjie.htm"   name="gsjianjie.htm"   onClick="ref('name')"> 公司 简介</a><br>  
  -   <a   href="zzjigou.htm"   name="zzjigou.htm"   onClick="ref('name')>组织 机构 </a><br>  
  -   <a   href="gswenhua.htm"   name="gswenhua.htm"   onClick="ref('name')>公司 文化 </a>  
  </td></tr></table>  
   
  ================================================================  
    
      当点击下面这些超链接的时候,调用ref();函数,并带着当前超链接的name属性传到函数内部,改变iframe.src的值.然后 执行 刷新.  
  但是当我点击的时候,它并不是执行局部刷新,还是把整个页面都刷新了,是不是它本身的超链接比局部刷新优先执行了?  
  具体该怎样解决,请指教,先谢过.
 
1 楼dh20156(风之石) 回复
TRY:  
  <script   language="javascript">  
  function   ref(name)  
  {  
  var   linkname   =   name;  
  document.iframe.location   =   linkname;  
  }  
  </script>  
                               
  <iframe   name="iframe"   src="home.htm"></iframe>  
   
  <table><tr><td>  
  -   <a   href="#"   name="gsjianjie.htm"   onclick="ref('gsjianjie.htm');">公司简介</a><br>  
  -   <a   href="#"   name="zzjigou.htm"   onclick="ref('zzjigou.htm');">组织机构</a><br>  
  -   <a   href="#"   name="gswenhua.htm"   onclick="ref('gswenhua.htm');">公司文化</a>  
  </td></tr></table> Top  

上面的你也可以把onclick="ref('???.??');"换成onclick="ref(name);"  

上面的你也可以把onclick="ref('???.??');"换成onclick="ref(this.name);"


  还可以用TARGET:  
  <iframe   name="iframe"   src="home.htm"></iframe>  
   
  <table><tr><td>  
  -   <a   href="gsjianjie.htm"   target="iframe">公司简介</a><br>  
  -   <a   href="zzjigou.htm"   target="iframe">组织机构</a><br>  
  -   <a   href="gswenhua.htm"   target="iframe">公司文化</a>  
  </td></tr></table>

又一个例子
AJAX,这个很熟悉的词,但是却用的很少的技术.
如今我遇到了需要局部刷新的功能,此前我考虑用AJAX技术,但是老总说不用费那么多时间,直接全部刷新得了.
我想到了既不用AJAX也不需要全部刷新的好办法.
其实,AJAX也就是 javascript脚本的应用.全拼是:AsynchronousJavaScript+XML .
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。
Ajax包括:
XHTML和CSS
使用文档对象模型(DocumentObjectModel)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起

那么在这里我不用懂得那么多知识,只要会javascript就行.
在javascript脚本里面有一个 iframe 控件, 可以将另外一个网页B的内容插入该页面A。
那么可不可以在已经打开这个页面A的时候重新将 网页B的内容插入呢?
当然可以,只要用javascript 得到  该 iframe控件的ID, 并将该控件的src属性赋值为你想要从哪里获取数据的页面.
这样,iframe控件就重新加载内容,此时,主页面并没有刷新,但是该控件的内容就已经更改了.
代码如下:

<table width="100%" height="60"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td height="60" valign="top">
<!-- 此处显示摄像头所属于宿舍或者(大门/围墙)的概况信息 -->
<iframe id="infoA" enableviewstate="true" src="infoA.htm" frameborder="0" scrolling="auto" style="width:648px; height:60px; margin:0px 0px 0px 0px;">
</iframe>
</td>
      </tr>
  </table>

触发页面内容刷新的动作为
document.getElementById("infoA").src ='B.htm';

在这个原理下,可以丰富很多的局部刷新应用.

  

3。
使用xmlhttp技术,能够实现无提交刷新动态页面,,可以参考ajax,目前挺热的,而且个人感觉也很实用的东西。

       我所举的这个例子是一个企业用户注册时的一个应用,当用户注册时检查用户名和企业名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。如果我们用Ajax技术来实现以上的操作则不必等待服务器返回信息,用户输入用户名或企业名称的时候,当输入文本框失去焦点的时候,则会自动向服务器发出请求,用户继续做下面的操作,不必点击“检查”,也不必等待服务器返回信息,检查与用户操作是异步的,可同时进行。当服务器信息返回的时候,会自动在面页相应位置显示返回信息,不必刷新页面,相当于局部刷新的效果。

  下面我们来看代码吧。

  HTML页面的完整代码如下:

1<%@page language="java" contentType="text/html;charset=GBK"%>
2<script language="javascript" type="text/javascript">
3<!--
4/**//**Ajax 开始 by Alpha 2005-12-31*/
5
6 var http = getHTTPObject();
7
8 function handleHttpResponse(){
9  if(http.readyState == 4){
10  if(http.status == 200){
11   var xmlDocument = http.responseXML;
12    if(http.responseText!=""){
13     document.getElementById("showStr").style.display = "";
14      document.getElementById("userName").style.background= "#FF0000";
15      document.getElementById("showStr").innerText = http.responseText;
16    }else{
17     document.getElementById("userName").style.background= "#FFFFFF";
18     document.getElementById("showStr").style.display = "none";
19    }
20
21   }
22   else{
23    alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!");
24    alert(http.status);
25   }
26  }
27 }
28
29 function handleHttpResponse1(){
30  if(http.readyState == 4){
31   if(http.status == 200){
32    var xmlDocument = http.responseXML;
33    if(http.responseText!=""){
34     document.getElementById("comNmStr").style.display = "";
35     document.getElementById("comNm").style.background= "#FF0000";
36     document.getElementById("comNmStr").innerText = http.responseText;
37    }else{
38     document.getElementById("comNm").style.background= "#FFFFFF";
39     document.getElementById("comNmStr").style.display = "none";
40    }
41
42   }
43   else{
44    alert("你所请求的页面发生异常,可能会影响你浏览该页的信息!");
45    alert(http.status);
46   }
47  }
48 }
49
50 function chkUser(){
51  var url = "/chkUserAndCom";
52  var name = document.getElementById("userName").value;
53  url += ("&userName="+name+"&oprate=chkUser");
54  http.open("GET",url,true);
55  http.onreadystatechange = handleHttpResponse;
56  http.send(null);
57  return ;
58 }
59 function chkComNm(){
60  var url = "/chkUserAndCom";
61  var name = document.getElementById("comNm").value;
62  url += ("&comName="+name+"&oprate=chkCom");
63  http.open("GET",url,true);
64  http.onreadystatechange = handleHttpResponse1;
65  http.send(null);
66  return ;
67 }
68
69 //该函数可以创建我们需要的XMLHttpRequest对象
70 function getHTTPObject(){
71  var xmlhttp = false;
72  if(window.XMLHttpRequest){
73   xmlhttp = new XMLHttpRequest();
74   if(xmlhttp.overrideMimeType){
75    xmlhttp.overrideMimeType('text/xml');
76   }
77  }
78  else{
79   try{
80    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
81   }catch(e){
82    try{
83     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
84    }catch(E){
85     xmlhttp = false;
86    }
87   }
88  }
89  return xmlhttp;
90 }
91/**//**Ajax 结束*/
92
93//检测表单
94function chkpassword()
95{
96 var m=document.form1;
97 if(len(m.password.value) > 20 || len(m.password.value) < 5 || !isStr(m.password.value))
98 {
99  document.getElementById("passwordStr").style.display = "";
100  document.getElementById("password").style.background= "#FF0000";
101  document.getElementById("passwordStr").innerText = "对不起,密码必须为英文字母、数字或下划线,长度为5~20!";
102 }
103 else
104 {
105  document.getElementById("password").style.background= "#FFFFFF";
106  document.getElementById("passwordStr").style.display = "none";
107 }
108}
109
110function chkconfirmPassword()
111{
112  var m=document.form1;
113  if (m.password.value != m.confirmPassword.value)
114  {
115   document.getElementById("confirmPasswordStr").style.display = "";
116   document.getElementById("confirmPassword").style.background= "#FF0000";
117   document.getElementById("confirmPasswordStr").innerText = "对不起,密码与重复密码不一致!";
118  }
119  else
120  {
121   document.getElementById("confirmPassword").style.background= "#FFFFFF";
122   document.getElementById("confirmPasswordStr").style.display = "none";
123  }
124}
125
126function checkfield()
127{
128 var m=document.form1;
129 if(m.userName.value.length==0)
130 {
131  alert("对不起,用户名必须为英文字母、数字或下划线,长度为5~20。");
132  m.userName.focus();
133  return false;
134 }
135 if(m.password.value.length==0)
136 {
137  alert("对不起,密码必须为英文字母、数字或下划线,长度为5~20。");
138  m.password.focus();
139  return false;
140 }
141 if (m.password.value != m.confirmPassword.value)
142 {
143  alert("对不起,密码与重复密码不一致!");
144  m.confirmPassword.focus();
145  return false;
146 }
147 if(m.comNm.value.length==0)
148 {
149  alert("对不起,企业名称不能为空!!");
150  m.comNm.focus();
151  return false;
152 }
153 m.submit();
154}
155
156//-->
157</script>
158<body topmargin="0">
159<form name="form1" method="post" action="/Control?act=Register">
160<table width="100%">
161 <tr><td align="center">&nbsp;<H2>Ajax 演示程序</H1></td></tr>
162 <tr><td align="center">&nbsp;&nbsp;&nbsp;&nbsp;------ 企业注册 By Alpha</td></tr>
163</table>
164
165<HR>
166 <table width="400" border="0" cellpadding="1" cellspacing="1" align="center" >
167 <tr>
168  <td><font color="red">*</font></td>
169  <td>用户帐号:</td>
170  <td>
171   <input type="text" name="userName" maxlength="20" style="background:#FFFFFF" onBlur="chkUser()" value=""/>
172   <div id="showStr" style="background-color:#FF9900;display:none"></div>
173  </td>
174 </tr>
175 <tr>
176  <td><font color="red">*</font></td>
177  <td>企业名称:</td>
178  <td>
179   <input type="text" name="comNm" maxlength="100" style="background:#FFFFFF" onBlur="chkComNm()" value=""/>
180   <div id="comNmStr" style="background-color:#FF9900;display:none"></div>
181
182  </td>
183 </tr>
184 <tr>
185  <td><font color="red">*</font></td>
186  <td>用户密码:</td>
187  <td><input type="password" name="password" maxlength="20" style="background:#FFFFFF" onBlur="chkpassword()"/>
188   <div id="passwordStr" style="background-color:#FF9900;display:none"></div>
189  </td>
190 </tr>
191 <tr>
192  <td><font color="red">*</font></td>
193  <td>确认密码:</td>
194  <td><input type="password" name="confirmPassword" maxlength="20" style="background:#FFFFFF" onBlur="chkconfirmPassword()"/>
195   <div id="confirmPasswordStr" style="background-color:#FF9900;display:none"></div>
196  </td>
197 </tr>
198 </table>
199
200 <div align="center">
201  <input type="button" name="ok" value=" 确 定 " onclick="checkfield()">
202 &nbsp;
203  <input type="reset" name="reset" value=" 取 消 ">
204 </div>
205
206</form>
207</body>
208</html>


  用JavaScript来创建XMLHttpRequest 类向服务器发送一个HTTP请求后,接下来要决定当收到服务器的响应后,需要做什么。这需要告诉HTTP请求对象用哪一个JavaScript函数处理这个响应。可以将对象的onreadystatechange属性设置为要使用的JavaScript的函数名,如下所示:xmlhttp_request.onreadystatechange =FunctionName;

  FunctionName是用JavaScript创建的函数名,注意不要写成FunctionName(),当然我们也可以直接将JavaScript代码创建在onreadystatechange之后。
 我们调用request.open()-它用服务器打开套接字频道,使用一个HTTP动词(GET或POST)作为第一个参数并且以数据提供者的URL作为第二个参数。request.open()的最后一个参数被设置为true-它指示该请求的异步特性。注意,该请求还没有被提交。随着对request.send()的调用,开始提交-这可以为POST提供任何必要的有效载荷。在使用异步请求时,我们必须使用request.onreadystatechanged属性来分配请求的回调函数。(如果请求是同步的话,我们应该能够在调用request.send之后立即处理结果,但是我们也有可能阻断用户,直到该请求完成为止。)

  我看再看看数据提供者的URL,url = "/chkUserAndCom",servlet如下:

 

1/**//*
2 * Created on 2005-12-31
3 *
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
6 */
7package com.event;
8
9import javax.servlet.ServletException;
10import javax.servlet.http.HttpServletRequest;
11import javax.servlet.http.HttpServletResponse;
12
13import com.beans.EBaseInfo;
14
15/** *//**
16 * @author Alpha 2005-12-31
17 *
18 * <P>Ajax 演示---企业注册时检查企业用户名和企业名称</P>
19 *
20 * TODO To change the template for this generated type comment go to
21 * Window - Preferences - Java - Code Style - Code Templates
22 */
23public class CheckUserAndComNm {
24 private String msgStr = "";
25 protected void doGet(HttpServletRequest request,HttpServletResponse response)
26 throws ServletException
27 {
28
29  EComBaseInfo info=new EComBaseInfo();
30  String oprate=request.getParameter("oprate")).trim();
31  String userName=request.getParameter("userName");
32  String passWord=request.getParameter("password");
33  String comName=request.getParameter("comName");
34
35  try
36  {
37   if(oprate.equals("chkUser"))
38   {
39    response.setContentType("text/html;charset=GB2312");
40    if(userName.length()<5||userName.length()>20)
41    {
42     msgStr = "对不起,用户名必须为字母、数字或下划线,长度为5-20个字符!";
43    }
44    else
45    {
46     boolean bTmp=info.findUser(userName); //找查数据库中有无该用户名
47     if(bTmp)
48      msgStr ="对不起,此用户名已经存在,请更换用户名注册!";
49     else
50      msgStr ="";
51    }
52    response.getWriter().write(msgStr);
53   }
54   else if(oprate.equals("chkCom"))
55   {
56    response.setContentType("text/html;charset=GB2312");
57    if(comName.length()<6||comName.length()>100)
58    {
59     msgStr = "对不起,公司名称长度为6-100个字符(不包括字符内的空格)!";
60    }
61    else
62    {
63     boolean bTmp=info.findCom(comName); //找查数据库中有无该企业名
64     if(bTmp)
65      msgStr ="对不起,此企业名称已经存在,请更换企业名称注册!";
66     else
67      msgStr ="";
68    }
69    response.getWriter().write(msgStr);
70   
71   }
72  }
73  catch(Exception ex)
74  {
75  }
76  finally
77  {
78   request.setAttribute("url",url);
79  }
80 }
81
82 protected void doPost(HttpServletRequest request,HttpServletResponse response)
83 throws ServletException
84 {
85  doGet(request,response);
86 }
87}
88

   AJAX技术小结

  1. Ajax(Asynchronous JavaScript and XML)是一个结合了Java技术、XML、以及JavaScript的编程技术,可以让你构建基于Java技术的Web应用,并打破了使用页面重载的惯例。

  2. Ajax,异步JavaScript与XML,是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动态的Web用户接口界面。

  3. 对于Mozilla﹑Netscape﹑Safari、Firefox等浏览器,创建XMLHttpRequest 方法如下:

xmlhttp_request = new XMLHttpRequest();

  4. IE等创建XMLHttpRequest 方法如下:

  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") 

  或 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

  5. xmlhttp_request.open('GET', URL, true); xmlhttp_request.send(null);

  6. open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。 按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。第二个参数是请求页面的URL。第三个参数设置请求是否为异步模式。如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。这就是"AJAX"中的"A"。

  Ajax技术运用的好的话,给我们的网页增添了许多友好的效果,给用户还来更好的感觉。Ajax是个好东西。

又一例子。

使用AJAX技术实现网页无闪自动局部刷新

 

我们在网页制作的过程中经常会遇到及时刷新数据的问题,如果使用 的方法,会造成整个屏幕不断闪烁刷新的效果,这会降低用户的操作满意度。

所以我们需要一种可以实现无闪自动刷新数据的方法来解决以上问题。

实例解决问题:

希望实现用户在进入系统以后(整个session的时效之内),如果收到新邮件则发出声音提示。

实现思路:

1.首页部分:< body onload="init(' ');"> // load时调用init(user);

2.js部分:用XMLHTTP实现页面局部刷新,调用check_mail.jsp对后台数据库进行检索判断并返回结果。

<!--

 

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

var checkresult=null;

var username =null;

function init(user){

username=user;

window.setInterval('Checkmail()',5000);//每隔5秒自动调用Checkmail()

}

function Checkmail()

{

xmlhttp.open("POST", "check_mail.jsp?uName="+username, false);

xmlhttp.onreadystatechange = updatePage;

xmlhttp.send();

}

function updatePage() {

if (xmlhttp.readyState < 4) {

test1.innerHTML="loading...";

}

if (xmlhttp.readyState == 4) {

var response = xmlhttp.responseText;

if(response==1){//判断为假

test1.innerHTML="&nbsp;";

checkresult=1;

}

else{//判断为真

test1.innerHTML="<ccid_file alt=新邮件 values="img/tp024"

alt=新邮件 src=img/tp024.gif />

<EMBED src='music/nudge.wma' hidden=true autostart=true loop=false>";

checkresult=0;

}

}

}

// -->

 

3.check_mail.jsp

 

<%@ page contentType="text/html; charset=GBK" %>

<%@ page errorPage="error/login_error.jsp"%>

<%@ page import="myweb.*" %>

<%@ page import="java.sql.*" %>

<%

String user=request.getParameter("uName");

Connection conn=null;

try{

conn=DBConnection.getConnection();

PreparedStatement pStat=conn.divpareStatement("

select * from message where r_name='"+user+"' and status=0");

ResultSet rs=pStat.executeQuery();

if(rs.next()){//有记录

response.getWriter().print(0);

}else{

response.getWriter().print(1);

}

}finally{

if(conn!=null) conn.close();

}

%>

 

4.首页结果显示

将< span id="test1" > < /span >插入指定位置。

 


一个简单的下拉联动局部刷新AJAX代码

首先是第一个下拉框页面代码:

<%...@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
下拉列表联动
</title>
</head>
<body bgcolor="#ffffff">
<table>
<tr>
<td>
<select name="s1" onChange="haha()">
<option value="null">请选择
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
</select>
</td>
<td id="heihei">
<select>
<option>请先选择第一个下拉
</select>
</td>
</tr>
</table>
<script>...
//定义XMLHttpRequest对象
var http_request=false;

function send_request(url)...{
http_request=false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest)...{//Mozilla等浏览器初始化XMLHttpRequest过程
http_request=new XMLHttpRequest();
//有些版本的Mozilla浏览器处理服务器返回的未包含XML mime-type头部信息的内容时会出错.
//因此,要确保返回的内容包含text/xml信息.
if(http_request.overrideMimeType)...{
http_request.overrideMimeType("text/xml");
}
}
else if(window.ActiveXObject)...{//IE浏览器初始化XMLHttpRequest过程
try...{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)...{
try...{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)...{}
}
}
//异常,创建对象失败
if(!http_request)...{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
//指定响应处理函数
http_request.onreadystatechange=processRequest;
//发送HTTP请求信息
http_request.open("GET",url,true);
http_request.send(null);
}

//处理返回信息函数
function processRequest()...{
//判断对象状态
if(http_request.readyState==4)...{
//判断HTTP状态码
if(http_request.status==200)...{
//信息已经成功返回
//window.document.write(http_request.responseText);
//alert(http_request.responseText);
document.getElementById("heihei").innerHTML=http_request.responseText;
}
else ...{
//请求页面有问题
alert("您所请求的页面有异常!错误状态:"+http_request.status);
}
}
}

function haha()...{
var flag=document.all("s1").value;
send_request("select.jsp?flag="+flag);
}
</script>
</body>
</html>
然后是第二个下拉列表页面代码:

<%...@ page contentType="text/html; charset=GBK" %>
<%...
String flag=request.getParameter("flag");
if("1".equals(flag)){
%>
<select name="s2">
<option value="a">a
<option value="b">b
<option value="c">c
<option value="d">d
</select>
<%...
}else if("2".equals(flag)){
%>
<select name="s2">
<option value="e">e
<option value="f">f
<option value="g">g
<option value="h">h
</select>
<%...
}else{
%>
<select name="s2">
<option value="null">此项没有内容
</select>
<%...
}
%>

 

------------------------------------------------------------

 

var xmlAjax;

//创建对象
function createXmlAjax(){
  if(window.ActiveXObject){
    xmlAjax=new ActiveXObject("Microsoft.XMLHTTP");
  }
  if(window.XMLHttpRequest){
    xmlAjax=new XMLHttpRequest();
  }
}

//转评定岗主函数
function openAction2(contrastResult){
 var array = document.form.elements;
 var checkboxValue = new Array();
 for(var i=0;i<array.length;i++){
  if(array[i].type=="checkbox"){
   if(array[i].checked == true){
    checkboxValue.push(array[i].value);
   }
  }
 } 
 if(checkboxValue.length<1){
  alert("请选择一条记录!");
 }else{
  createXmlAjax();
  xmlAjax.onreadystatechange=callBack2;// 业务操作。
  xmlAjax.open("GET","/cnas/servlet/checkResultAjax?ppfIds="+checkboxValue+"&positionId=23&contrastResult="+contrastResult,true);//返回的页面。
  xmlAjax.send(null);
 }
}

//转评定岗回调函数
function callBack2(){
 if(xmlAjax.readyState==4){
  if(xmlAjax.status == 200){
   var result=xmlAjax.responseText;
   //alert("result--"+result);
   if(result=="false"){
    alert("您选中的有的意见是不同意,不能转评定岗");
      }else{
         var array = document.form.elements;
      var checkboxValue = new Array();
     for(var i=0;i<array.length;i++){
           if(array[i].type=="checkbox"){
      if(array[i].checked == true){
       checkboxValue.push(array[i].value);
      }
     }
    } 
    //alert("checkboxValue:"+checkboxValue);
    document.form.action="/cnas/servlet/chiefConfirmMaterialCheck?actionType=toAssess&mcfIds="+checkboxValue;
    //alert("转评定岗"+document.form.action);
    document.form.submit();
   }   
  }
 }
}

2026年第十四届“泰迪杯”数据挖掘挑战赛——B题(上市公司财报“智能问数”助手)提供高质量成品文章、完整解题代码及所有结果表。内容涵盖Python核心代码(含独家前后端分离的全栈交互式Web分析系统)、无水印完整论文文档(Word版本),并包含详细思路解析,助力参赛队伍高效完成比赛,冲刺国奖。【核心内容】成品文章包含完整解题思路(涵盖“规则+模型”双擎数据抽取、六维意图分类与高鲁棒NL2SQL引擎、基于DAG自主规划的RAG深度问答框架)、模型构建、金融数据分析与结果讨论。格式完全符合泰迪杯竞赛论文规范,图表精美(含系统架构图、算法流程图),逻辑严密,可直接作为核心参考或稍作修改使用。完整代码提供Python语言的全链路实现,覆盖复杂PDF清洗解析、SQLite数据库构建、安全SQL生成、向量知识库构建及Agent智能体问答全流程。代码采用高度模块化设计,注释清晰,并附带 `run_all.py` 一键运行脚本,小白也能轻松跑通。特别包含一套独家自主研发的**全栈交互式Web系统源码**(React + FastAPI),支持多轮对话、AI思考过程实时展示与动态图表渲染。结果表格严格按照官方要求,所有实验数据与结果(如 `result_2.xlsx`、`result_3.xlsx`)均已按标准模板整理成表,同时交付处理好的标准 SQLite 数据库文件(含经过五维逻辑校验的优质财报数据),提交无忧。【交付清单】成品论文(Word版,近2万字,包含高逼真系统界面图、Agent逻辑架构图、算法对比柱状图等高质量图表)完整项目代码包(含PDF双阶解析器、NL2SQL引擎、知识库RAG检索器及全栈Web前后端源码)完整数据集与结果提交表(含 result_2.xlsx、result_3.xlsx 及标准 financial_data.db 数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值