电力项目pub.js实现替换form表单的innerHTML
Posted xuzhuaaron1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电力项目pub.js实现替换form表单的innerHTML相关的知识,希望对你有一定的参考价值。
目的:角色类型切换的时候下面的权限分配不同的checkbox被勾中以及显示用户分配
切换前
切换后
第一步
/**
传递的参数:
domId:传递表单中Form2的名称
action:请求的路径 'system/elecRoleAction_edit.do' 这个请求最终返回的是一个roleEdit.jsp的页面 去除<%@ page language="java" pageEncoding="UTF-8"%>
sForm:传递表单中Form1的名称
*/
Pub.submitActionWithForm=function(domId,action,sForm)
var req = Pub.newXMLHttpRequest();
var handlerFunction = Pub.getReadyStateHandler(req, domId,Pub.handleResponse);
req.onreadystatechange = handlerFunction;
req.open("POST", action, false);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var str = Pub.getParams2Str(sForm);
//传递的是以Form1的属性值做为参数
//alert(str);
req.send(str);
/**创建Ajax引擎*/
Pub.newXMLHttpRequest=function newXMLHttpRequest()
var xmlreq = false;
if (window.XMLHttpRequest)
xmlreq = new XMLHttpRequest();
else if (window.ActiveXObject)
try
xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
catch (e1)
try
xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
catch (e2)
alert(e2);
return xmlreq;
/**
req:ajax引擎
eleid:表单中form2的名称
responseXmlHandler:表示Pub.handleResponse函数
*/
Pub.getReadyStateHandler =function getReadyStateHandler(req, eleid,responseXmlHandler)
return function ()
if (req.readyState == 4)
if (req.status == 200)
//req.responseText 就是请求的路径 'system/elecRoleAction_edit.do' 返回的结果
responseXmlHandler(req.responseText,eleid);
else
alert("HTTP error: "+req.status);
return false;
最终执行这个function
/**
data:服务器端返回的结果
eleid:表单值Form2的名称
*/
Pub.handleResponse= function handleResponse(data,eleid)
//alert(data);
//获取Form2的对象
var ele =document.getElementById(eleid);
//alert(data);
//返回的是roleEdit.jsp 最终传给Form2,也就是Form2的内部html布局
ele.innerHTML = data;
/**
sForm:表单中Form1的名称
*/
Pub.getParams2Str=function getParams2Str(sForm)
var strDiv="";
try
var objForm=document.forms[sForm];
if (!objForm)
return strDiv;
var elt,sName,sValue;
for (var fld = 0; fld < objForm.elements.length; fld++)
elt = objForm.elements[fld];
sName=elt.name;
sValue=""+elt.value;
if(fld==objForm.elements.length-1)
strDiv=strDiv + sName+"="+sValue+"";
else
strDiv=strDiv + sName+"="+sValue+"&";
catch (ex)
return strDiv;
//alert(strDiv);
return strDiv;
以上是关于电力项目pub.js实现替换form表单的innerHTML的主要内容,如果未能解决你的问题,请参考以下文章
vue+element的form表单实现禁止输入汉字(中文),即使输入也替换为空字符串
如何替换 geoext.form.formpanel 中的协议