javascript中的全局变量应用

时间:2022-07-15 10:28:44
前段时间看到有兄弟在CSDN的论坛上说JavaScript没有全局和局部变量,当前我想好像在哪看到过“JavaScript全局变量”,于是去google搜了一下,回家又翻书看了一下,确信它是存在的!恰巧现在在作一个计费的模块,我小试了一下!
javascript中的全局变量应用<html>
javascript中的全局变量应用
<head>
javascript中的全局变量应用javascript中的全局变量应用
<script type="text/javascript">
javascript中的全局变量应用
var tempMsg;
javascript中的全局变量应用javascript中的全局变量应用
function checkNumber(ele){
javascript中的全局变量应用javascript中的全局变量应用    
if(ele.baseFee.value.length==""){
javascript中的全局变量应用        alert(
"月租费用不能为空");
javascript中的全局变量应用        ele.baseFee.className 
='errInput';
javascript中的全局变量应用        ele.baseFee.select();
javascript中的全局变量应用        
return false;
javascript中的全局变量应用    }

javascript中的全局变量应用    
javascript中的全局变量应用javascript中的全局变量应用    
if(ele.rateFee.value.length==""){
javascript中的全局变量应用        alert(
"每小时费用不能为空");
javascript中的全局变量应用        ele.rateFee.className 
='errInput';
javascript中的全局变量应用        ele.rateFee.select();
javascript中的全局变量应用        
return false;
javascript中的全局变量应用    }

javascript中的全局变量应用javascript中的全局变量应用    
if(!tempMsg){
javascript中的全局变量应用        alert(
"资费政策已经存在");
javascript中的全局变量应用        
return false;
javascript中的全局变量应用    }

javascript中的全局变量应用    
return true;
javascript中的全局变量应用}

javascript中的全局变量应用
</script>
javascript中的全局变量应用
有点JavaScript基础的都应该能看懂吧,就是一个增加资费政策的网页,其中要求月租费和每小时费用的联合记录不能出现重复(在库中)
var tempMsg
就是一个全局的(布尔)变量.继续看:
javascript中的全局变量应用function checkStatus(el){
javascript中的全局变量应用    if(el.value ==""){
javascript中的全局变量应用        alert("fail");
javascript中的全局变量应用    }
javascript中的全局变量应用    var tempV=document.getElementById("base");
javascript中的全局变量应用    sendRequest("/netctoss/pricingManage/queryRecord.do?baseFee="+tempV.value+"
&rateFee="+el.value+"");
javascript中的全局变量应用}
以上是表单中的每小时费用项在失去焦点时触发的处理函数,把每小时费用和月租费用Ajax异步查询,所得的结果是一个布尔值,看Ajax通用的函数:
javascript中的全局变量应用function sendRequest(strurl){
javascript中的全局变量应用    httpRequest = false;
javascript中的全局变量应用    if(window.XMLHttpRequest){ // Mozilla, Safari, ...
javascript中的全局变量应用        httpRequest = new XMLHttpRequest();
javascript中的全局变量应用        if(httpRequest.overrideMimeType){
javascript中的全局变量应用              httpRequest.overrideMimeType('text/xml');                    
javascript中的全局变量应用        }
javascript中的全局变量应用    }else if(window.ActiveXObject){ // IE
javascript中的全局变量应用        try{
javascript中的全局变量应用              httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
javascript中的全局变量应用        }catch(e){
javascript中的全局变量应用              try{
javascript中的全局变量应用                  httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
javascript中的全局变量应用              }catch (e) {}
javascript中的全局变量应用        }
javascript中的全局变量应用    }
javascript中的全局变量应用        
javascript中的全局变量应用    if(!httpRequest){    //异常处理
javascript中的全局变量应用        window.alert("不能创建XMLHttpRequest对象实例");
javascript中的全局变量应用        return false;
javascript中的全局变量应用    }
javascript中的全局变量应用    httpRequest.onreadystatechange = processRequest;
javascript中的全局变量应用    //确定发送的方式和URL以及是否同步执行代码
javascript中的全局变量应用    httpRequest.open("GET",strurl,true);
javascript中的全局变量应用    httpRequest.send(null);
javascript中的全局变量应用}
以上没什么好说的,关键是processRequest这个函数会拿到查询的结果:
javascript中的全局变量应用function processRequest(){
javascript中的全局变量应用    var strform = document.forms[0];
javascript中的全局变量应用    if(httpRequest.readyState == 4){    //判断对象状态
javascript中的全局变量应用        if(httpRequest.status == 200){    //信息已成功返回,开始处理信息
javascript中的全局变量应用            var tempstr = httpRequest.responseText;
javascript中的全局变量应用            
javascript中的全局变量应用            if(tempstr.indexOf("false")==-1){
javascript中的全局变量应用                 tempMsg=true;
javascript中的全局变量应用            }else{
javascript中的全局变量应用                 tempMsg=false;
javascript中的全局变量应用            }            
javascript中的全局变量应用        }
javascript中的全局变量应用        else{    //页面不正常
javascript中的全局变量应用            alert("您所请求的页面发生错误!");
javascript中的全局变量应用        }
javascript中的全局变量应用    }
javascript中的全局变量应用}
在以上函数中会给全局变量赋值.
            if(tempstr.indexOf("false")==-1){
                 tempMsg=true;
            }else{
                 tempMsg=false;
            }       
下面是html的body部分:
javascript中的全局变量应用</head>
javascript中的全局变量应用
<body>
javascript中的全局变量应用 
<form name="form1" method="post" action="/netctoss/pricingManage/addRecord.do" onsubmit="return checkNumber(this);">
javascript中的全局变量应用    
<class="pp">添加新的资费政策</p>
javascript中的全局变量应用    
<table width="91%" border="1" bordercolor="#ccccff" bgcolor="#ccddee" class="9P">
javascript中的全局变量应用      
<tr> 
javascript中的全局变量应用        
<td width="12%">资费名称</td>
javascript中的全局变量应用        
<td width="30%"><input type="text" name="pricingName"></td>
javascript中的全局变量应用        
<td><label id="forName">请输入新建资费名称(只允许用英文,数字,下划线,区分大小写)</label></td>
javascript中的全局变量应用      
</tr>
javascript中的全局变量应用      
<tr> 
javascript中的全局变量应用        
<td>月租费用</td>
javascript中的全局变量应用        
<td><input type="text" name="baseFee" id="base"></td>
javascript中的全局变量应用        
<td>请选择新建资费的月租费用(只允许输入数字或小数点)</td>
javascript中的全局变量应用      
</tr>
javascript中的全局变量应用      
<tr> 
javascript中的全局变量应用        
<td>每小时费用</td>
javascript中的全局变量应用        
<td><input type="text" name="rateFee" onblur="checkStatus(this)"></td>
javascript中的全局变量应用        
<td>请输入每小时的费用(只允许用数字或小数点)</td>
javascript中的全局变量应用      
</tr>
javascript中的全局变量应用      
<tr> 
javascript中的全局变量应用        
<td height="10">资费描述</td>
javascript中的全局变量应用        
<td><textarea name="pricingDesc"></textarea></td>
javascript中的全局变量应用        
<td>请输入对新建资费的简单描述(最多256个汉字)</td>
javascript中的全局变量应用      
</tr>
javascript中的全局变量应用      
<tr> 
javascript中的全局变量应用        
<td><div align="right"> </div></td>
javascript中的全局变量应用        
<td>&nbsp;</td>
javascript中的全局变量应用        
<td> &nbsp; 
javascript中的全局变量应用          
<input type="submit" name="Submit2" value="提交">
javascript中的全局变量应用          
<input type="reset" name="Submit" value="清除"> </td>
javascript中的全局变量应用      
</tr>
javascript中的全局变量应用    
</table>
javascript中的全局变量应用    
<p>&nbsp;</p>
javascript中的全局变量应用  
</form>
javascript中的全局变量应用
<body></html>
哪些Jsp,struts 的ActionForm Action我相信大家都会写.如果你确实看不明白,可以给我留消息,等我离开杭州到烟台后(大约两天后)给及时给你回复的