JS表单使用总结

    技术2022-05-20  38

    1  javascript刷新页面的方法          window.location.reload();       使用window.open()弹出的弹出窗口,刷新父窗口       window.opener.location.reload()    使用window.showDialog弹出的模式窗口       window.dialogArguments.location.reload();

    2.javascript弹出窗口的两种实现方式 ---下面给两个弹出屏幕居中窗口的例子    window.open()方式        function ShowDialog(url) {            var iWidth=300; //窗口宽度            var iHeight=200;//窗口高度            var iTop=(window.screen.height-iHeight)/2;            var iLeft=(window.screen.width-iWidth)/2;            window.open(url,"Detail","Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,      Width="+iWidth+" ,Height="+iHeight+",top="+iTop+",left="+iLeft);           }        window.showModalDialog方式      function ShowDialog(url) {            var iWidth=300; //窗口宽度            var iHeight=200;//窗口高度            var iTop=(window.screen.height-iHeight)/2;            var iLeft=(window.screen.width-iWidth)/2;            window.showModalDialog(url,window,"dialogHeight: "+iHeight+"px; dialogWidth: "+iWidth+"px;      dialogTop: "+iTop+"; dialogLeft: "+iLeft+"; resizable: no; status: no;scroll:no");          }

         注意这里的第二个参数,window

    3.页面中设置不进行缓存数据的方法

    在jsp页面加入如下语句 

    <%       response.setHeader("Pragma","No-Cache");       response.setHeader("Cache-Control","No-Cache");       response.setDateHeader("Expires", 0); %>

    4.无提示关闭页面的方法 function CloseWin(){     var ua = navigator.userAgent; var ie = navigator.appName=="Microsoft Internet Explorer"?true:false;     if(ie){  var IEversion = parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))));     if( IEversion< 5.5){     var str = '';     document.body.insertAdjacentHTML("beforeEnd", str);      document.all.noTipClose.Click();    } else {       window.opener =null; window.close();    }   }else{   window.close()   } }

    5、定时关闭弹出的窗口---设置/清除定时器

    scriptlanguage="JavaScript" !-- functioncloseit(){ setTimeout("self.close()",100000)//单位是毫秒,这里是100秒 setInterval("self.close()",100000)

    window.clearTimeout(me.timer); window.clearInterval(me.timer); /script

    6.javascript弹出子窗口中传值---通过url传值

    <script language="javascript" type="text/javascript"> function fn_modify(pid){     var ModifyInfo=new Object();  window.showModalDialog("modify_main.asp?pid="+pid,ModifyInfo,"dialogHeight:180px;dialogWidth:300px;dialogLeft:;dialogTop:;resizable:off;center:on;help:off;scroll:off;status:off")  Reload(); } function Reload(){location.href="abc.asp";} </SCRIPT>

    <a href="abc.asp" onClick="fn_modify('这是值')">单击</a>

    7.js隐藏/显示表单 document.all("id").style.display=="none";//隐藏 document.all("id").style.display=="";//显示 document.getElementById("bt").style.display=="none" document.getElementById("bt").style.display=="" id为table,input 的id

    8.js控制表单元素有效/失效 document.getElementById("bt").disabled=true; document.all("Submit1").disabled=true;//失效 document.all("Submit1").disabled=false;//有效

    设置/获取元素的值 document.getElementById("labTitle").innerHTML="IP模式";//设置值 document.getElementById("labTitle").innerHTML//获取值 labTitle 为div,span,table的id

     实例1:

    [code]<input id="mytext" type="text" value="我是不能用的"> <input type="button" value="disabled" onClick="javascript: document.all.mytext.disabled='false'"> <input type="button" value="enable" onClick="javascript: document.all.mytext.removeAttribute('disabled')">[/code]

    实例2:

     [code] <input id="mytext" type="text" value="我是能用的"> <input type="button" value="disable" onClick="if (mytext.disabled==false){ mytext.disabled=true;mytext.value='我是不能用的';this.value='enable'} else { mytext.disabled=false;mytext.value='我是能用的';this.value='disable'}"> [/code]

    9.页面通过函数提交表单的方法 function exit(){ selcardForm.action="/NDHotel/queryTroom.do?method=exitSystem"; selcardForm.submit(); }

    10.遍历radio方法 <input id="mode1" type="radio"    name="workMode" value="1" checked>

    var radios=document.getElementsByName("workMode");  var workMode="";      for(var i=0;i<radios.length;i++){          if(radios[i].checked==true){           workMode=radios[i].value;          }      }

    11.向select中动态添加option

    <select id="ddlProvince" name="ddlProvince" οnchange="cityResult()">

    var prov=document.getElementById("ddlProvince");         prov.options.add(new Option("---请选择---",""));     var pArray=zoneIdProvince.split("&");     for(var i=0;i<pArray.length;i++){       var idpArray=pArray[i].split("#");       var sZoneID=idpArray[0];       var sProvince=idpArray[1];       prov.options.add(new Option(sProvince,sZoneID));     }

    12.页面中使用prototype ajax提交数据的实现方式(java)

    一步:在<head></head>中添加以下js文件链接

    <head> <script language="JavaScript" src="/NDHotel/js/prototype-1.6.js"></script> </head>

    二步:把prototype-1.6.js文件放到/NDHotel/js/指定的目录中

    三步:在<script type="text/javascript"></script>中声明以下调用函数

    <script type="text/javascript"> function editIpSegment(){  var url='/NDHotel/ipsegmentset.do?method=roomChangeNotice';  var pars = 'startip='+startip+'&endip='+endip+'&lindex='+lindex;   new Ajax.Request( url, {method: 'get', parameters: pars, asynchronous:false,onComplete:editResult}); }

    function editResult(result){     var returnStr = result.responseText;     if(returnStr =='fail'){       alert("");       return false;      } } </script>

    四步:实现后台调用

     public ActionForward roomChangeNotice(ActionMapping mapping,    ActionForm form, HttpServletRequest request,    HttpServletResponse response) throws Exception {   String result = "";   PrintWriter pw = RainPrintWriter.getPrintWriter(response);   try {    NotifyServiceTwo.sendMessage(4, 0);    result = "success";   } catch (Exception e) {    logger.error("roomChangeNotice" + e);   }   pw.write(result);   pw.close();   return null;  }

    13.js中获取表单的值的方式:

    document.getElementById("lindex").value document.all.lindex.value//lindex在页面中必须是唯一的

    //设置获取焦点 document.getElementById("lindex").focus() document.all.startip.focus()

    //设置失去焦点 document.getElementById("lindex").blur() document.all.startip.blur()

    14.动态添加/删除表格中的行

    <table width="100%"  id="tdSearch" name="tdSearch" cellpadding="0" cellspacing="0" align="center"> </table>

    //动态生成table的行 var autoId = 0; // 自增变量   function addRow(value1,value2){        var highQuery=document.getElementById("tdSearch");  highQuery.insertRow();  var newRow = highQuery.rows[highQuery.rows.length - 1];    newRow.id = "row_" + autoId;   newRow.insertCell();   newRow.cells[0].innerHTML = "<input width='200' value='"+value1+"' οnchange='changeip("+autoId+")' type='text' id='bIPFrom_"+autoId+"'>-";           newRow.insertCell();   newRow.cells[1].innerHTML = "<input width='200' value='"+value2+"' type='text' id='bIPTo_"+autoId+"'> ";              var cell2 = newRow.insertCell();   cell2.innerHTML = "<input  class='btn_1word' type='button' class='HQ_BUTTON' value='-' onClick=removeRow('" + newRow.id + "')>";        cell2.setAttribute("class", "yellowCell2");  autoId=autoId+1; }

    function removeRow(rowId){

     var trRow = document.getElementById(rowId);   //alert(trRow);  //if(rowId!="row_0"){   trRow.removeNode(true);  //} }

    15. 集合 //显示导入进度条 document.all("btnImport").disabled=true; document.all("DataGrid_WaitDiv").style.left=100; document.all("DataGrid_WaitDiv").style.top=295; document.all("DataGrid_WaitDiv").style.display = "";

    form1.action="/NDHotel/jsp/systemset/roomSet/uploadFile.jsp"; form1.submit();

    13.新建一个窗口 function layer1AddGroup() { var url='/NDHotel/jsp/systemset/roomSet/addGroup.jsp'; var newwin=window.showModalDialog(url,window,"dialogWidth=470px;dialogHeight=400px;scroll=yes;status=no;help=no;"); }

    //刷新父页面 function roomMainLeftRightFrame(){ var layer='<%=layer%>'; window.parent.parent.frames('view').location.href="/NDHotel/troom.do?method=roomSetLeftMenu&layer="+layer;  }

    14.设置文本框只读属性/设置文本框的颜色/设置radio选中 document.all("txt_AutoTime").readOnly=true; document.all("txt_AutoTime").style.backgroundColor="#d0d0d0"; runParamSetForm.radNotForcibly.checked=true;

    //IP地址验证 function ipCheck(ipValue){  var reg = /^/d{1,3}(/./d{1,3}){3}$/;  if(ipValue != ""){   if (reg.test(ipValue)){    var ary = ipValue.split('.');    for(key in ary){     if (parseInt(ary[key]) > 255 )      return false;    }    return true;   }else  return false;   }else  return true;  }


    最新回复(0)