AjaxʵÏÖ²éѯÖúÊÖ£¨Query Helper£©
ÔÚͨ³£µÄBSÈí¼þÏîÄ¿ÖУ¬²éѯÖúÊÖʹÓÃÆµÂʷdz£¸ß£¬Æä¹¦ÄÜÊǵã»÷ͼ±ê£¬Ò³ÃæÉÏÔªËØµÄֵΪÌõ¼þ£¬µ½ºǫ́²éѯ½á¹û£¬µ¯³ö²éѯ½á¹û¶Ô»°¿ò£¬Ñ¡Ôñ¼Í¼£¬¹Ø±Õ¶Ô»°¿ò£¬²¢ÇÒ°ÑÄãÑ¡ÔñµÄÓйØÄÚÈÝÏÔʾµ½¸¸Ò³ÃæÖÐÖ¸¶¨µÄÔªËØÖС£ÓÉÓÚÆäÓѺõĽçÃæÉè¼ÆºÍ²Ù×÷ÐÔÄÜ£¬¶ÔÓû§ºÍÉè¼Æ¿ª·¢ÈËÔ±¶¼ÓкܴóµÄÎüÒýÁ¦£¬µ«´æÔÚ¿ª·¢Ð§Âʵͣ¬¸´ÓÃÐԲ¸´ÔӶȽϸߵÈÎÊÌâ¡£
Ëæ×ÅAjaxµÄ·çÃÒÈ«Çò£¬GoogleµÄÍÆ²¨ÖúÀ½£¬ÓÅÐãµÄ½çÃæ·ç¸ñ£¬¾Ö²¿Ë¢ÐµÄȫиÐÊÜ£¬¸øÈ˶úĿһеÄÓ¡Ïó¡£µ«ÓÉÓÚAjaxÖî¶àjavascript½Å±¾ºÍºǫ́ӦÓõĸ´ÔÓÐÔ£¬Ê¹ajaxµÄÍÆ¹ãÀ§ÄÑÖØÖØ£¬¹úÄÚµÄÓ¦Óôó¶à¶¼ÊÇÍæ¾ß¼¶£¬¾àÏîĿʵÓû¹Óв»Ð¡µÄ²î¾à£¬°üÀ¨Microsoft£¬IBM£¬SUN¶¼ÔÚ»ý¼«¹¥¹ØÑз¢£¬ÒÔÌá¸ßÏîÄ¿¿ª·¢µÄʵÓÃÐÔ£¬½µµÍ¿ª·¢ÄѶȡ£ÎªÁËʹÓÃajaxÔÚÏîÄ¿µÄʵÓÃÐÔ£¬Õë¶Ô²éѯÖúÊÖ¹¦ÄܵÄAjax×öÁËһЩÓÐÒæµÄ³¢ÊÔ£¬ÌرðÔ¸ÒâºÍ´ó¼Ò·ÖÏí¡£
ÍøÉϹØÓÚAjaxµÄÎÄÕº¹Å£³ä¶°£¬¾ßÌåµÄAjaxÀíÂÛ¿ÉÒÔµ½ÍøÉÏËÑË÷£¬Õâ¶ùÖ»×ö¼òµ¥½éÉÜ£º
AjaxÊÇAsynchronous JavaScript and XMLµÄËõд¡£Ajax²¢²»ÊÇÒ»ÃÅеÄÓïÑÔ»ò¼¼Êõ,Ëüʵ¼ÊÉÏÊǼ¸Ïî¼¼Êõ°´Ò»¶¨µÄ·½Ê½×éºÏÔÚÒ»ÔÚͬ¹²µÄÐ×÷Öз¢»Ó¸÷×ÔµÄ×÷Óã¬Ëü°üÀ¨£º
Ø Ê¹ÓÃXHTMLºÍCSS±ê×¼»¯³ÊÏÖ
Ø Ê¹ÓÃDOMʵÏÖ¶¯Ì¬ÏÔʾºÍ½»»¥
Ø Ê¹ÓÃXMLºÍXSLT½øÐÐÊý¾Ý½»»»Óë´¦Àí
Ø Ê¹ÓÃXMLHttpRequest½øÐÐÒì²½Êý¾Ý¶ÁÈ¡;
Ø Ê¹ÓÃJavaScript°ó¶¨ºÍ´¦ÀíËùÓÐÊý¾Ý
AjaxµÄ¹¤×÷ÔÀíÏ൱ÓÚÔÚÓû§ºÍ·þÎñÆ÷Ö®¼ä¼ÓÁË¡ª¸öÖмä²ã,ʹÓû§²Ù×÷Óë·þÎñÆ÷ÏìÓ¦Òì²½»¯¡£²¢²»ÊÇËùÓеÄÓû§ÇëÇó¶¼Ìá½»¸ø·þÎñÆ÷,Ïñ¡ªÐ©Êý¾ÝÑéÖ¤ºÍÊý¾Ý´¦ÀíµÈ¶¼½»¸øAjaxÒýÇæ×Ô¼ºÀ´×ö,Ö»ÓÐÈ·¶¨ÐèÒª´Ó·þÎñÆ÷¶ÁÈ¡ÐÂÊý¾ÝʱÔÙÓÉAjaxÒýÇæ´úΪÏò·þÎñÆ÷Ìá½»ÇëÇó¡£
²éѯÖúÊÖ¹¦ÄÜÉè¼ÆµÄµÄAjaxµÄÉè¼ÆÖ÷Òª¼¯ÖÐÔÚ´Óǰ̨µÄjspÒ³ÃæÌá³öAjaxÇëÇó£¬ËùÓеÄAjaxÇëÇó¶¼Ìá½»¸ø²éѯÖúÊÖÖмä²ã£¬²éѯÖúÊÖÖмä²ã×Ô¶¯´´½¨²éѯÖúÊÖ¾ßÌåʵÏÖÀàÀ´ÊµÏÖ²éѯÖúÊֵľßÌå²éѯ¹¦ÄÜ£¬²éѯÖúÊÖ¾ßÌåʵÏÖÀàʵÏÖÊý¾Ý¿â²éѯ²¢×éÖ¯´«»ØÇ°Ì¨Êý¾ÝÎı¾¡£´«µ½Ç°Ì¨ºó×Ô¶¯Ñ¡Ôñ²»Í¬µÄJavaScriptº¯ÊýÀ´½âÎöÊý¾Ý£¬²¢ÏÔʾµ½Ò³ÃæµÄDiv»òÕßÖ±½ÓÏÔʾµ½Ò³ÃæÔªËØÖС£

ÔÚJspÖУ¬µã»÷²éѯÖúÊÖͼ±ê£¬»òÕßÔÚÊäÈë¿òÖдò»Ø³µ¼ü£¬ÔòÏÔʾÈçͼ3-1½çÃæ£¬Ajax´Óºǫ́»ñÈ¡Êý¾ÝÏÔʾÔÚÇ°Ì¨Ò³ÃæÉÏ·½£¬µ«´ËÊ±Ò³Ãæ²¢Î´Ë¢Ð£¬²¢ÇÒȱʡµ¥Ñ¡°´Å¥Ñ¡ÖеÚÒ»ÐУ¬µÚÒ»Ðб³¾°É«ÎªÂÌÉ«¡£ÓÐÁ½ÖÖ²Ù×÷¿ÉÒÔÑ¡Ôñ£º
1£© Ñ¡ÔñÊÇʹÓÃÉÏÏ·½Ïò¼üÀ´Ñ¡Ôñ¼Í¼£¬ÉÏϼüÒÆ¶¯Ê±¼Í¼±³¾°É«×Ô¶¯¸Ä±ä£¬µ¥Ñ¡°´Å¥Ò²×Ô¶¯Ñ¡Ôñ¡£µ±¾ö¶¨Ñ¡ÔñijһÐмͼʱ£¬µã»÷»Ø³µ¼ü¡£
2£© Ñ¡ÔñʹÓÃÊó±ê£¬µ±Êó±êÒÆ¶¯Ê±£¬¼Í¼µÄ±³¾°É«·¢Éú¸Ä±ä¡£
3£© µ±µã»÷»Ø³µ¼ü£¬»òÕßµã»÷Êó±ê×ó¼üʱÔòÏà¹ØÄÚÈÝÌî³äµ½¾ßÌåµÄÒ³ÃæÔªËØÖУ¬²¢°ÑÊäÈë½¹µã×Ô¶¯ÏÂÒÆµ½Ö¸¶¨µÄÊäÈë¿ò£¬²¢¹Ø±ÕÑ¡Ôñ½çÃæ¡£
4£© Èç¹ûÄã²»ÏëÑ¡Ôñ£¬Ò²¿ÉÒÔÖ±½Óµã»÷Ñ¡Ôñ½çÃæÓÒÉϽǵĹرÕͼ±ê

ͼ3-1
Èç¹û²éѯ½á¹ûΪûÓмͼ£¬Ôò£º

ͼ3-2
¾ßÌå´úÂëÈçÏ£º
<link rel="stylesheet" href="<%=request.getContextPath()%>/tplife/css/maginfier.css" type="text/css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/ajax/maginfier.js"></script>
×éÖ¯»ú¹¹²éѯÖúÊÖ£º<br/><img src = "<%=request.getContextPath()%>/images/magifiericon.gif" onclick="orgMaginfier('<%=request.getContextPath()%>','selOrg','DivShim','orgId,orgCode,orgName','0,2,1','message','','');">
<input type="text" id = "orgCode" style="width:300px" onkeydown="if(event.keyCode == 13){orgMaginfier('<%=request.getContextPath()%>','selOrg','DivShim','orgId,orgCode,orgName','0,2,1','message'); gnIsSelectCtrl = 1;}else{}">
<input type="text" id = "orgName" style="width:300px">
<input type="hidden" id = "orgId">
<br/>
<div id="selOrg" style="display:none; z-index:100" class="termFrame" ></div>
<iframe
id="DivShim"
src="javascript:false;"
scrolling="no"
frameborder="0"
style="position:absolute; top:0px; left:0px; display:none;">
</iframe>
var xmlHttp;
var maginfierName ;
var displayName ;//ÏÔʾ½á¹ûDiv
var displayIFrame;//ÏÔʾ½á¹ûIFrame
var posNames ;//»ØÌîÒ³ÃæÔªËØÊý×飬ÈçcurrencyId,currencyAbbrName,currencyName
var valueIndexs;//»ØÌîËùÐèÖµµÄÁкţ¬Èç0,1,2
var nextPos; //»ØÌîºófocusµÄÔªËØÃû
var serverPath;
var maginfierFunction;
var tableHead = new Array();
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function keyDowm(obj, pos, value, maginfierName0, maginfierDisplayName, maginfierDisplayIFrame)
{
if(event.keyCode == 13)//»Ø³µ¼ü
{
filled(pos, value, maginfierDisplayName, maginfierDisplayIFrame);
}
else if(event.keyCode == 40)//ÉÏÒÆ¼ü
{
document.getElementById(maginfierName0+"divrow" + obj).bgColor='';
var t = eval(obj) + 1;
if(document.getElementById(maginfierName0+"divrow" + t) != null)
{
document.getElementById(maginfierName0+"divrow" + t).bgColor='#CCFF99';
}
}
else if(event.keyCode == 38)//ÏÂÒÆ¼ü
{
document.getElementById(maginfierName0+"divrow" + obj).bgColor='';
var t = eval(obj) - 1;
if(t >= 0)
{
document.getElementById(maginfierName0+"divrow" + t).bgColor='#CCFF99';
}
}
}
function closeDiv(maginfierDisplayName, maginfierDisplayIFrame)
{
_termFrame=getElement(maginfierDisplayName);
_termFrame.style.display = 'none'
getElement(maginfierDisplayIFrame).style.display = 'none';
}
function operationRequest(queryString, postBlock) {
var url = serverPath + "/AjaxMaginfier?" + queryString;
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST", url, true);
// postBlock = "»ñµÃ½çÃæÔªËØ";
//ÉèÖôó¿éÊý¾Ý´«ÊäpostBlock£¬ÕâÑù¿ÉÒÔ½â¾ö´óÊý¾ÝÁ¿´«Ïòºǫ́¡£
xmlHttp.send(postBlock);
}
// »ñµÃ½çÃæÔªËØ
function getElement(idString)
// Êó±êÒÆ¶¯
function rollover(tdObject)
function rollout(tdObject)
function filled(keyStr, valueStr, maginfierDisplayName, maginfierDisplayIFrame)
{
keys = keyStr.split(",");
values = valueStr.split("<c>");
for(i = 0; i < keys.length; i++)
{
_test = getElement(keys[i]);
_test.value = values[i];
}
_termFrame=getElement(maginfierDisplayName);
_termFrame.style.display = 'none'
getElement(maginfierDisplayIFrame).style.display = 'none';
if(document.getElementById(nextPos) != null)
{
document.getElementById(nextPos).focus();
}
}
function responseDisplay() {
var responseText = xmlHttp.responseText;
var responseContent = responseText.split("|");
var dataText = responseContent[0];
if(dataText.length == 0)
{
var displayStr = '<table width="98%"><tr><td align="right" style="border-bottom:0px"><img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(''+displayName+'',''+displayIFrame+'')"></td></tr></table><input type="radio" id="'+maginfierName+'rdoAlert" name="rdo" onkeydown=" closeDiv(''+displayName+'',''+displayIFrame+'')">' + '<font class="sfont" color="red">ûÓзûºÏÌõ¼þµÄ¼Ç¼£¬µãÈÎÒâ¼ü·µ»Ø</font>';
displayAlert(displayStr);
return;
}
var rows = dataText.split("<r>");
var _t=[];
var cols;
var pos = "'" + posNames + "'";
for(var i = 0; i < rows.length; i++) {
cols = rows[i].split("<c>");
values = "'" ;
valuesIndexArray = valueIndexs.split(",");
for( j = 0; j < valuesIndexArray.length; j++)
{
var temp = cols[eval(valuesIndexArray[j])];
//»ØÌîʱ°ÑnullÖû»³É¿Õ×Ö·û´®
if(temp == 'null')
{
temp = '';
}
if(j < valuesIndexArray.length - 1)
{
values = values + temp + "<c>";
}
else
{
values = values + temp + "'";
}
}
if(i == 0)
{
_t[i] = '<tr class="maginfierBody" id = "'+maginfierName+'divrow0" onmouseover="rollover(this)" onmouseout="rollout(this)" ><td width="5" align="center"><input type="radio" id="'+maginfierName+'rdo" name="rdo" onkeydown=" keyDowm('+i+', '+pos+', '+values+',''+maginfierName+'',''+displayName+'',''+displayIFrame+'');" ></td>';
}
else
{
_t[i] = '<tr class="maginfierBody" id = "'+maginfierName+'divrow'+i+'" onmouseover="rollover(this)" onmouseout="rollout(this)" ><td width="5" align="center"><input type="radio" name="rdo" onkeydown=" keyDowm('+i+', '+pos+', '+values+',''+maginfierName+'',''+displayName+'',''+displayIFrame+'');" ></td>';
}
//¸ù¾Ý±íÍ·ÏÔʾÏà¹ØÊý¾Ý
for(var j = 1 ; j < tableHead.length ; j++)
{
//ÔÚ·Å´ó¾µ±í¸ñÏÔʾʱ£¬°ÑnullÖû»³É¿Õ¸ñÏÔʾ
if(cols[j] == 'null')
{
cols[j] = " ";
}
_t[i] = _t[i] + '<td onclick="filled('+pos+', '+values+',''+displayName+'',''+displayIFrame+'')"><span class="rs">'+cols[j]+'</span></td>';
}
_t[i] = _t[i] + '</tr>';
}
var tableHeadStr = addMaginfierHeader();
displayStr = '<table width="98%"><tr><td align="right" style="border-bottom:0px"><img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(''+displayName+'',''+displayIFrame+'')"></td></tr></table><table cellspacing="1" width="98%" cellpadding="1" class="ItemList">'+ tableHeadStr +_t.join('')+'</table> ';
if(responseContent[1] != null)
{
pageParams = responseContent[1].split(",");
prePageNo = parseInt(pageParams[2]) - 1;
prePageFunction = maginfierFunction + "," +prePageNo+")";
nextPageNo = parseInt(pageParams[2]) + 1;
nextPageFunction = maginfierFunction + ", "+nextPageNo+")";
displayStr += '<br> <a href="javascript:if('+prePageNo+' == 0)else ">ÉÏÒ»Ò³</a>';
displayStr += '<font class="sfont"> | µÚ'+pageParams[2]+'Ò³ | </font> ';
displayStr += '<a href="javascript:if('+nextPageNo+' > '+pageParams[1]+'){alert('ÒѾÊÇ×îºóÒ»Ò³ÁË'); }else">ÏÂÒ»Ò³</a>';
displayStr += '<font class="sfont"> | ¹²'+pageParams[1]+'Ò³ | ¹²'+pageParams[0]+'ÐÐ</font>';
}
displayMaginfier(displayStr);
}
function test()
{
var a = '23,,,43,23';
var b = a.split(",");
alert(b.length);
}
function addMaginfierHeader()
{
var tableHeadStr = '<tr class="maginfierTitle"><td width="5" align="center" ></td>';
for(i = 1 ; i < tableHead.length ; i++)
{
tableHeadStr = tableHeadStr + '<td align="center" >' + tableHead[i] + "</td>"
}
tableHeadStr = tableHeadStr + "</tr>";
return tableHeadStr;
}
function displayAlert(displayStr)
{
displayDiv = getElement(displayName);
displayDiv.innerHTML = displayStr;
displayDiv.style.display='block';
IfrRef = getElement(displayIFrame);
IfrRef.style.width = displayDiv.offsetWidth;
IfrRef.style.height = displayDiv.offsetHeight;
IfrRef.style.top = displayDiv.style.top;
IfrRef.style.left = displayDiv.style.left;
IfrRef.style.zIndex = displayDiv.style.zIndex - 1;
IfrRef.style.display = "block";
document.getElementById(maginfierName+"rdoAlert").checked = true;
document.getElementById(maginfierName+"rdoAlert").focus();
}
function displayMaginfier(displayStr)
{
displayDiv = getElement(displayName);
displayDiv.innerHTML = displayStr;
displayDiv.style.display='block';
IfrRef = getElement(displayIFrame);
IfrRef.style.width = displayDiv.offsetWidth;
IfrRef.style.height = displayDiv.offsetHeight;
IfrRef.style.top = displayDiv.style.top;
IfrRef.style.left = displayDiv.style.left;
IfrRef.style.zIndex = displayDiv.style.zIndex - 1;
IfrRef.style.display = "block";
document.getElementById(maginfierName+"divrow0").bgColor='#CCFF99';
document.getElementById(maginfierName+"rdo").checked = true;
document.getElementById(maginfierName+"rdo").focus();
}
/*¾ßÌå·Å´ó¾µÒ³Ãæ´¦Àí·½·¨*/
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
responseDisplay();
}
}
}
function initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0)
{
serverPath = serverPath0;
displayName = divName;
displayIFrame = iFrameName;
posNames = posNames0;
valueIndexs = valueIndexs0
nextPos = nextPos0;
}
/*¾ßÌå·Å´ó¾µJavaScript*/
//×éÖ¯»ú¹¹·Å´ó¾µ
function orgMaginfier(serverPath0, divName, iFrameName, posNames0,valueIndexs0, nextPos0, orgCode, orgId, transTypeId, maginfierType, pageNo)
{
initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0);
maginfierName = 'OrgMaginfier' + divName;
maginfierFunction = "orgMaginfier('"+serverPath0+"', '"+divName+"', '"+iFrameName+"', '"+posNames0+"','"+valueIndexs0+"', '"+nextPos0+"', '"+orgCode+"', '"+orgId+"', '"+transTypeId+"', '"+maginfierType+"'";
len = tableHead.length;
tableHead.splice(0, len);
tableHead[0] = "µ¥Î»ID";
tableHead[1] = "µ¥Î»±àºÅ";
tableHead[2] = "µ¥Î»Ãû³Æ";
tableHead[3] = "µ¥Î»Ó¢ÎÄÃû³Æ";
queryString = "maginfierClassName=OrgMaginfier&orgCode="+orgCode+"&orgId="+orgId+"&maginfierType="+maginfierType+"&transTypeId="+transTypeId+"&pageNo="+pageNo;
operationRequest(queryString);
}
/* ½çÃæÑùʽ */
.termFrame{
width:298px !important;
width:500px;
overflow:auto;
height:360px;
scrollbar-face-color: #FFFFCC; scrollbar-shadow-color: #FFFFCC; scrollbar-highlight-color: #FFFFCC; scrollbar-3dlight-color: #FFFFCC; scrollbar-darkshadow-color: #6699CC; scrollbar-track-color: #FFFFCC; scrollbar-arrow-color: #99CCFF;
margin-top:1px !important;
margin-top:0;
border:1px solid #999999;
background-color:#FFFFFF;
position:absolute;
cursor:hand;
padding:2px;
font-size:70%;
z-index:100
}
.maginfierTitle {
BORDER-RIGHT: 1px; BORDER-TOP: 1px;BORDER-LEFT: 1px; BORDER-BOTTOM: 1px;BACKGROUND-COLOR: #456795; color: #FFFFFF;
}
.maginfierBody {
BORDER-RIGHT: 1px;BORDER-TOP: 1px;BORDER-LEFT: 1px;BORDER-BOTTOM: 1px;
}
function orgMaginfier(serverPath0, divName, iFrameName, posNames0,valueIndexs0, nextPos0, orgCode, orgId, transTypeId, maginfierType, pageNo)
{
initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0);
maginfierName = 'OrgMaginfier' + divName;
maginfierFunction = "orgMaginfier('"+serverPath0+"', '"+divName+"', '"+iFrameName+"', '"+posNames0+"','"+valueIndexs0+"', '"+nextPos0+"', '"+orgCode+"', '"+orgId+"', '"+transTypeId+"', '"+maginfierType+"'";
len = tableHead.length;
tableHead.splice(0, len);
tableHead[0] = "µ¥Î»ID";
tableHead[1] = "µ¥Î»±àºÅ";
tableHead[2] = "µ¥Î»Ãû³Æ";
tableHead[3] = "µ¥Î»Ó¢ÎÄÃû³Æ";
queryString = "maginfierClassName=OrgMaginfier&orgCode="+orgCode+"&orgId="+orgId+"&maginfierType="+maginfierType+"&transTypeId="+transTypeId+"&pageNo="+pageNo;
operationRequest(queryString);
}
function operationRequest(queryString, postBlock) {
var url = serverPath + "/AjaxMaginfier?" + queryString;
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("POST", url, true);
// postBlock = "»ñµÃ½çÃæÔªËØ";
//ÉèÖôó¿éÊý¾Ý´«ÊäpostBlock£¬ÕâÑù¿ÉÒÔ½â¾ö´óÊý¾ÝÁ¿´«Ïòºǫ́¡£
xmlHttp.send(postBlock);
}
//¸Ãº¯ÊýµÄÃû³Æ²»Òª¸Ä±ä£¬ÒòΪÎÒÔÚjsÎļþÖоö¶¨ÁËÓøú¯ÊýÀ´´¦Àí´«»ØµÄÊý¾Ý
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
responseDisplay();
}
}
}
function responseDisplay() {
var responseText = xmlHttp.responseText;
var responseContent = responseText.split("|");
var dataText = responseContent[0];
if(dataText.length == 0)
{
var displayStr = rightSpace + '<img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(''+displayName+'',''+displayIFrame+'')"><br><input type="radio" id="'+maginfierName+'rdoAlert" name="rdo" onkeydown=" closeDiv(''+displayName+'',''+displayIFrame+'')">' + '<font class="sfont" color="red">ûÓзûºÏÌõ¼þµÄ¼Ç¼£¬µãÈÎÒâ¼ü·µ»Ø</font>';
displayAlert(displayStr);
return;
}
var rows = dataText.split(";");
var _t=[];
var cols;
var pos = "'" + posNames + "'";
for(var i = 0; i < rows.length; i++) {
cols = rows[i].split(",");
values = "'" ;
valuesIndexArray = valueIndexs.split(",");
for( j = 0; j < valuesIndexArray.length; j++)
{
var temp = cols[eval(valuesIndexArray[j])];
//»ØÌîʱ°ÑnullÖû»³É¿Õ×Ö·û´®
if(temp == 'null')
{
temp = '';
}
if(j < valuesIndexArray.length - 1)
{
values = values + temp + ",";
}
else
{
values = values + temp + "'";
}
}
if(i == 0)
{
_t[i] = '<tr class="maginfierBody" id = "'+maginfierName+'divrow0" onmouseover="rollover(this)" onmouseout="rollout(this)" ><td width="5" align="center"><input type="radio" id="'+maginfierName+'rdo" name="rdo" onkeydown=" keyDowm('+i+', '+pos+', '+values+',''+maginfierName+'',''+displayName+'',''+displayIFrame+'');" ></td>';
}
else
{
_t[i] = '<tr class="maginfierBody" id = "'+maginfierName+'divrow'+i+'" onmouseover="rollover(this)" onmouseout="rollout(this)" ><td width="5" align="center"><input type="radio" name="rdo" onkeydown=" keyDowm('+i+', '+pos+', '+values+',''+maginfierName+'',''+displayName+'',''+displayIFrame+'');" ></td>';
}
//¸ù¾Ý±íÍ·ÏÔʾÏà¹ØÊý¾Ý
for(var j = 0 ; j < tableHead.length ; j++)
{
//ÔÚ²éѯÖúÊÖ±í¸ñÏÔʾʱ£¬°ÑnullÖû»³É¿Õ¸ñÏÔʾ
if(cols[j] == 'null')
{
cols[j] = " ";
}
_t[i] = _t[i] + '<td onclick="filled('+pos+', '+values+',''+displayName+'',''+displayIFrame+'')"><span class="rs">'+cols[j]+'</span></td>';
}
_t[i] = _t[i] + '</tr>';
} //ÏÔʾ±íÍ·ÄÚÈÝ
function addMaginfierHeader()
{
var tableHeadStr = '<tr class="maginfierTitle"><td width="5" align="center" ></td>';
for(i = 0 ; i < tableHead.length ; i++)
{
tableHeadStr = tableHeadStr + '<td align="center" >' + tableHead[i] + "</td>"
}
tableHeadStr = tableHeadStr + "</tr>";
return tableHeadStr;
}
//Èç¹ûδ²éѯµ½¼Í¼£¬ÏÔʾÌáʾÐÅÏ¢
function displayAlert(displayStr)
{
_termFrame=getElement(displayName);
_termFrame.innerHTML = displayStr;
// ÏÔʾ½á¹û
_termFrame.style.display='block';
IfrRef = getElement(displayIFrame);
IfrRef.style.width = _termFrame.offsetWidth;
IfrRef.style.height = _termFrame.offsetHeight;
IfrRef.style.top = _termFrame.style.top;
IfrRef.style.left = _termFrame.style.left;
IfrRef.style.zIndex = _termFrame.style.zIndex - 1;
IfrRef.style.display = "block";
document.getElementById(maginfierName+"rdoAlert").checked = true;
document.getElementById(maginfierName+"rdoAlert").focus();
}
//ÏÔʾ²éѯÖúÊÖ
function displayMaginfier(displayStr)
{
_termFrame=getElement(displayName);
_termFrame.innerHTML = displayStr;
// ÏÔʾ½á¹û
_termFrame.style.display='block';
//setHidden(overlaySelEles);
//_termFrame.style.visibility="visible";
IfrRef = getElement(displayIFrame);
IfrRef.style.width = _termFrame.offsetWidth;
IfrRef.style.height = _termFrame.offsetHeight;
IfrRef.style.top = _termFrame.style.top;
IfrRef.style.left = _termFrame.style.left;
IfrRef.style.zIndex = _termFrame.style.zIndex - 1;
IfrRef.style.display = "block";
document.getElementById(maginfierName+"divrow0").bgColor='#CCFF99';
document.getElementById(maginfierName+"rdo").checked = true;
document.getElementById(maginfierName+"rdo").focus();
}
Ñ¡ÔñServlet×÷Ϊºǫ́£¬ÊÇÒòΪÈç¹û²ÉÓÃStruts ActionΪºǫ́´¦Àí³ÌÐò£¬Ôò±ØÐëÖ¸¶¨Òª·µ»ØµÄÒ³Ãæ¡£¶øÊ¹ÓÃServletÔòûÓÐÕâ¸öÒªÇó¡£Ä¬ÈÏ·µ»Øµ½ÇëÇóÒ³Ãæ¡£¶øÕâ¸ö²éѯÖúÊÖServlet½ÓÊÜËùÓеIJéѯÖúÊÖÇëÇ󣬸ù¾Ýǰ̨´«À´µÄ²éѯÖúÊÖʵÏÖÀàÃû³Æ²ÎÊý£¬ÓÉSpring´´½¨²éѯÖúÊÖʵÏÖÀà¶ÔÏ󣬸öÔÏóʵÏÖÁ˲éѯÖúÊÖ½Ó¿Ú£¨MaginfierInterface£©£¬´Ó¶ø»ñÈ¡·µ»ØÖµÎı¾¡£·µ»Øµ½Ç°Ì¨¡£
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String maginfierClassName = request.getParameter("maginfierClassName");
MaginfierFactory factory = MaginfierFactory.getInstance();
MaginfierInterface maginfier = factory.createMaginfier(maginfierClassName);
String ret = maginfier.getReturnValue(request);
System.out.println("ret = " + ret);
response.setContentType("text/xml;charset=GBK");
PrintWriter out = response.getWriter();
out.write(ret);
out.close();
}
<servlet>
<servlet-name>AjaxMaginfier</servlet-name>
<servlet-class>com.iss.fs.web.module.example.AjaxMaginfier</servlet-class>
<!¡ªÔÚϵͳ³õ´ÎÆô¶¯Ê±£¬³õʼ»¯1´Î-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AjaxMaginfier</servlet-name>
<url-pattern>/AjaxMaginfier</url-pattern>
</servlet-mapping>
public class CurrencyMaginfier implements MaginfierInterface
{
public String getReturnValue(HttpServletRequest request)
{
List list = null;
StringBuffer results = new StringBuffer();
CurrencyDAO dao = new CurrencyDAO();
String currencyAbbrName = request.getParameter("currencyAbbrName");
String responsibilityId = request.getParameter("responsibilityId");
if(currencyAbbrName == null || currencyAbbrName.equals("") || currencyAbbrName.equals("undefined"))
{
currencyAbbrName = "";
}
if(responsibilityId == null || responsibilityId.equals("") || responsibilityId.equals("undefined"))
{
responsibilityId = "-1";
}
try
{
list = dao.getMaginfierResults(currencyAbbrName, responsibilityId);
}
catch (Exception ex)
{
ex.printStackTrace();
}
if (list != null)
{
Currency currency = null;
for(int i = 0 ; i < list.size(); i++)
{
currency = (Currency)list.get(i);
results.append(currency.getID()).append(",");
results.append(currency.getCurrencyAbbrName()).append(",");
results.append(currency.getCurrencyName());
if(i < (list.size() - 1))
{
results.append(";");
}
}
}
return results.toString();
}
}
¹Ì¶¨²ÎÊý£ºserverPath, divName, iFrameName, posNames,valueIndexs, nextPos
serverPath£º±íʾwebserverµÄµØÖ·£¬È磺/myapp
divName£ºÏÔʾѡÔñ½çÃæµÄDivÃû³Æ
iFrameName£ºÏÔʾѡÔñ½çÃæµÄIfranmeÃû³Æ£¬ÒòΪIEµÄȱÏÝ£¬divÏÔʾʱ²»Äܸ²¸ÇÏÂÃæµÄÑ¡Ôñ¿ò£¬ËùÒÔÎÒÃÇʹÓÃIframe×÷ΪdivµÄµ×°å¡£
posNames£ºÑ¡Ôñ¼Í¼ºó»ØÏÔµÄÒ³ÃæÔªËØ£¬È磺orgId,orgName,orgCode
valueIndexs£º¶ÔÓ¦»ØÏÔÒ³ÃæÔªËØ£¬¼Í¼µÄÁÐÐòºÅ£¬Èç 0,2,1
nextPos£ºÑ¡Ôñ½áÊøºóÒª°ÑÊäÈë½¹µã£¬Òƶ¯µ½ÏÂÒ»¸öÒ³ÃæÔªËØÃû³Æ
¹Ì¶¨²ÎÊýºóÃæµÄ²ÎÊý£¬²»Í¬µÄ²éѯÖúÊÖÓв»Í¬²ÎÊýÁÐ±í£¬Ö÷ÒªÊÇÌõ¼þÊý¾Ý¡£
²»Í¬µÄ²éѯÖúÊÖÑ¡Ôñ½çÃæÓв»Í¬µÄ±íÍ·£¬ÎÒÃÇʹÓÃjsµÄÈ«¾ÖÊý×é±äÁ¿À´´æ´¢£¬Ã¿¸ö²éѯÖúÊÖʹÓÃǰ¶¼ÏÈÇå¿Õ±íÍ·Êý×飬ʹÓÃsplice(0, len)
len = tableHead.length;
tableHead.splice(0, len);
tableHead[0] = "ÍⲿÕË»§ID";
tableHead[1] = "ÍⲿÕË»§±àºÅ";
tableHead[2] = "ÍⲿÕË»§Ãû³Æ";
tableHead[3] = "Íâ²¿ÒøÐÐÃû³Æ";
tableHead[4] = "»ú¹¹ºÅ";
tableHead[5] = "ÁªÐкÅ";
ÏÔʾ±íÍ·£º
var tableHeadStr = '<tr class="maginfierTitle"><td width="5" align="center" ></td>';
for(i = 0 ; i < tableHead.length ; i++)
{
tableHeadStr = tableHeadStr + '<td align="center" >' + tableHead[i] + "</td>"
}
tableHeadStr = tableHeadStr + "</tr>";
var responseText = xmlHttp.responseText;
if(responseText.length == 0)
{
var displayStr = rightSpace + '<img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv()"><br><input type="radio" id="'+maginfierName+'rdoAlert" name="rdo" onkeydown=" closeDiv()">' + '<font class="sfont" color="red">ûÓзûºÏÌõ¼þµÄ¼Ç¼£¬µãÈÎÒâ¼ü·µ»Ø</font>';
displayAlert(displayStr);
return;
}
Onkeydown±íʾÏìÓ¦ÈÎÒâ¼ü£¬Ôò¹Ø±Õ²éѯÖúÊÖÑ¡Ôñ½çÃæ¡£
Onclick ±íʾÏìÓ¦Êó±êµã»÷
ÒòΪÎÒÃÇÔÚºǫ́°Ñ²éѯÊý¾Ý·â×°³ÉÎı¾´«»ØÇ°Ì¨£¬ËùÒÔµ½Ç°Ì¨ºóÒª½âÎöÎı¾£¬ÎÒ²»Ê¹ÓÃxmlÎı¾£¬Êý¾Ý·â×°¹æÔòÊǼͼ¼äÓá°£»¡±¸ôÀ룬ÁÐÖ®¼äÓá°£¬¡±¸ôÀ롣ͬÑùµ½Ç°Ì¨ºóʹÓÃÏàͬµÄ¹æÔò½âÎöÊý¾Ý¡£
°ÑÎı¾Êý¾Ý·Ö³ÉÈô¸ÉÐÐÊý¾Ý
var rows = responseText.split(";");
AjaxʵÏÖ²éѯÖúÊÖ¹¦ÄÜÊÇAjaxÔÚÏîÄ¿ÖÐʵսµÄÒ»¸öССµÄÀý×Ó£¬¸ù¾ÝÒÔºóµÄÑз¢£¬½«»á²úÉú¸ü¶à¸üºÃµÄÓ¦Ó㬱¾ÈËÔÚÎĵµµÄAjax¼ò½é²¿·ÖÒýÓÃÁ˱ðµÄÎĵµµÄ˵Ã÷£¬ÔÚ²éѯÖúÊÖµÄʵÏÖÖÐ½è¼øÁËGoogleµÄSuggestÉè¼ÆÀíÄSuggestʵÏÖÊÇÖ±½Ó´Óºǫ́´«À´±í¸ñFrame£¬ºǫ́¶¨ÒåÏÔʾÂß¼£¬ÔÚ²éѯÖúÊÖµÄÉè¼ÆÖУ¬Ç°Ì¨À´¾ö¶¨ÏÔʾÂß¼£¬ºǫ́½öÌṩÊý¾Ý£¬ÊµÏÖÊý¾ÝºÍÏÔʾµÄ·ÖÀ룬ÕâÑù¾Í»áÔì³Éǰ̨ÐèÒª½âÎöÊý¾ÝÎı¾£¬´¦ÀíÏÔʾÂß¼µÄJavascriptº¯Êý£¬ÏÔµÃǰ̨µÄJavaScript±È½Ï¶à£¬µ«ÎÒÈÏΪÕâÊÇ¿ÉÒÔ½ÓÊܵģ¬ÒòΪAjaxÖ÷ÒªÊÇǰ̨Âß¼¡£ÁíÍ⣬Ajax²éѯÖúÊֵĺǫ́ʵÏÖ²ÉÓÃÁËSpring Bean¹ÜÀíÈÝÆ÷£¬Ö»ÊÇΪÁ˺óÆÚÀ©Õ¹µÄ·½±ãÐÔ£¬½èÖúSpringÈÝÆ÷¹ÜÀíµÄÇ¿´ó¹¦ÄÜ£¬ÊµÏÖÀàËÆ¹¤³§Ä£Ê½µÄ¹¦ÄÜ¡£
ŬÁ¦£¬ÔÚÓÚÎÒÈȰ®ÎÒµÄÊÂÒµ£¬ÓëÖйúµÄÈí¼þÒ»Æð×ßÏò³ÉÊ죬×ßÏòÊÀ½ç¡£
Óû§ÆÀÂÛ