webForm-PostBackoptions事件说明验证=验证验证组 = 验证组actionell=actionell跟踪焦点委托人Submit=委托人Submit函数WebForm_DoPostBackObjects{验证Result=page_ClientValidates{form.action=options.actionell{vl最后焦点=Form.elementsif(sortfof(LastFocus){var主动=文档.activeEcle{focus.value=active.id{focus.value=active.name!wrj.clientSubmit)var-unitCallbacks=新数组Var-CallBackindex=-webForm_DoCallback(事件定位)+#CALLBACKARAM=#WebFormEncollCARUT{postData+WebFormEncoccallvarxml请求e试 {xml请求=新XMLHtp请求(){{xml请求=新主动Xobject (mcrosoft.XMLHTTP)spectheadMethodExists=真{set主管MethodExists=(xml请求#xmlRequest.set请求主管)scatch(e)++var回调=新Objects回调.eventCallback=事件Callback回调.context=上下文回调.errorCallback=报错Callback回调.async=使用Assyncvar callbackIndex = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback)!{-unitCallBackdexs同步AllBackindex =回调Index{xml请求.onstatechange=WebForm_Call回溯实现回调.xml请求=xml请求//例如网站:vor动作=Form.action+Q文档.pathnameif(fragmentIndex!serve-{nonMSDOMBrowser}{var域名='var路径表示动作var查询=var查询Index=action.indexofif.substr/queryIndex路径=动作.substr(0,查询Index){//域可能存在或不存在foo.aspx/ss/th/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/s/svar slapseDome=路径.indexofif(SlashDome+++++++++++/网域=路径路径表示{域=路径.substr/0路径=路径.substr}}动作+域+编码URI+查询Xml请求.openxmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded!charset=utf-8")!xmlRequest.send(postData)!返回回调.xml请求=新对象var回调FrameID=CALLBACKFRAME+回调Indexvar xmlExcessFrame=文档.framesif.xmrequestframeXmlExcernFrame.width=sXmlRequestFrame.hileXmlExcessFrame.frame边界=0XmlExcessFrame.id =回调FrameIDXmlExcessFrame.name =回调FrameIDXmlExcessFrame.styXmlExcessFrame.stype.top = "-100px"xmlExcessFrame.stype.left = "-100px"{如果backFrameurl调用{xmlRequestFrame.src =调用backFrameurlcatch-e-Q文档.body.appendCeil-xmlrequestFramevar区间=窗口.set区间函数{xmlExcessFrame=文档.framess[回召FrameID]{ window.Clear区间xmlRequestFrame.document.write("")!xmlRequestFrame.document.close()!xmlRequestFrame.document.write('
')!xmlRequestFrame.document.close()!xmlRequestFrame.document.forms[0].action = theForm.action!var计数=_FormPost集合.var元素Forlorissss计数++/元素=-FormPost集合{vl字段Eplement=xmlExcessFrame.document.CreateEplement(“INPUT”)字段元素类型 = hidden字段E元素.name=元素.name字段元素.value=元素.valuexmlRequestFrame.document.forms[0].appendChild(fieldElement)!var调回idFlelde元素=xmlRequestFrame.document.CreateEplement回调FriendEntle回调字段元件.name回调Id字段元素.value=事件xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement)!var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT")!回调ParamFriendEcallbackParamFieldElement.name = "__CALLBACKPARAM"!callbackParamFieldElement.value = eventArgument!xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement)!{v回调域名=xmlRequestFrame.dode.CreateEplementcallbackValidationFieldElement.type = "hidden"!callbackValidationFieldElement.name = "__EVENTVALIDATION"!callbackValidationFieldElement.value = theForm["__EVENTVALIDATION"].value!xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement)!var调回Index元素=xmlrequestFrame.document.CreateEplement回调Flendex元素.类型=HiddencallbackIndexFieldElement.name = "__CALLBACKINDEX"!callbackIndexFieldElement.value = callbackIndex!xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement)!xmlRequestFrame.document.forms[0].submit()!+++10++++++++++++++++++++++++++++++++++++++++++++++++++++10+++++++++函数WebForm-CallbackComplee等待回调 长度++/调回Objectss回调Objects+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++等待回调数=无效var回调FrameIDs+ivar xmlRequestFrame = document.getElementById(callbackFrameID)!{xlrequestframe.parentNorde.removeChilewebFormExecutCallbackwebFormExecutCallback {var响应{回调Object.eventCallwhy.errorCallback{vorseatorIndex=响应.indeof{var验证FieldLength=puseInt(响应.substring/0,separatorIndex))sparatorIndex+1验证FieldLentth+1{v验证字段元素=Formif(!验证字段元素) {验证字段元素=文档.CreateE元素验证FieldE元素类型=HiddenvalidationFieldElement.name = "__EVENTVALIDATION"!theForm.appendChild(validationFieldElement)!验证字段.value=验证字段{回调Object.eventCallwebFormFinalAbelSlot(数组,元素){variformsssl <数组.长度++/数组=元素返回ivar-nonMSDOMBrowser=VarFormPostData表示Var_FormPost集合=新数组var __callbackTextTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i!webForm_InitCallback(){vor形式Eplements=Form.elements,计数=Eplements.Forlorissss计数++ {元素=表单E元素var标签Name=元素.tagName.tolowerCase{vor类型=元素.类型webForm-InitCalladField.name{var选择Count=ecle.options.for(varj=0)j < selectCount++/vl选择Child=元素.objects{WebForm_InitCallback{WebForm-InitCallbackwebForm_InitCallback名Value.name=name名value.value=value__theFormPostCollection[__theFormPostCollection.length] = nameValue!FormPostData+Encocall函数WebFormEncodeCallunte{返回越线(参数)Var-Dept控制阵列=新阵列webForm-Reable控件{var禁用Index=0Forlorissss控制阵列.长度++/varc{c=文档.getEplementById{c=文档.all.{c.dept=假残疾控制阵列[残疾Index++]ssetimout(WebForm重解控件,0)归真函数WebForm重解控件{formi=0残疾控制阵列.长度+++worldForm模拟Click(元素事件){vrlkEventif(element) {if(element.click) {ecle.click} else { clickEvent = document.createEvent("MouseEvents")!Event MouseEvent(clock)真实真实性、窗口000000if(!ement.dispatchEvent(clockEvent))事件.cancelble=真if(event.stopprapation){事件.stopprapation报假报归真函数WebForm-FireDaultbutton(事件目标){if (src && ((src.tagName.toLowerCase() == "input") && (src.type.toLowerCase() == "submit" || src.type.toLowerCase() == "button")) || ((src.tagName.toLowerCase() == "a") && (src.href != null) && (src.href != "")) || (src.tagName.toLowerCase() == "textarea")) { return true!Var默认按钮if(nonMSDOMBrowser) {默认按钮=文档.getEplementById{默认按钮=文档.all[目标]}(默认按钮){返回WebForm_SimlateClick(默认按钮事件)归真函数WebFormGetScrollX{scrollleft文档if返回文档.bodyscrollleft返回0函数WebFormGetScrollY{sectionEclement/scellTopif返回文档.bodyscrollTop返回0函数WebForm-SaveScrolipsimit/theForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset!{Form._scrowlitionX.value=WebForm_GetscrellXtheForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY()!if(griptop(This.oldSubmit)!归真函数WebForm-SaveScrolltheForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY()!if(s类型(This.oldOnSubmit)!归真函数WebForm-RestoreScrolipstions{窗口scrollto/soroptionX.valueif(Form.oldload)归真函数WebFormTextBoxKeyHandler/event{nonMSDOMBrowser}{目标=事件.target{目标=事件.sclementif(griftof.onchange) {give.onchange事件.cancelble=真if (event.stopPropagation) event.stopPropagation()!伪返回归真函数WebForm_TrimString(值){返回值.repleg/s+g+类名 = WebForm-TrimStringvar索引sName.indexof{元素类Name=类名 : 元素类名++类名}函数WebForm-reveClassName(元素类名) {vrentClassNames= '+webForm-TrimString(元素类名)+类名 = WebForm-TrimStringvar索引sName.indexof{元素类Name=WebForm_TrimString}}函数WebForm-GetElementByld/if返回文档.all返回无效函数WebForm-GetEplementByTagName(元素标签Name) {var元素=WebForm-GetEplementsByTagName(元素标签Name)if(元素+++++++++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx返回无效函数WebForm-GetEplementsByTagName/}(元素.all.tags) {返回元素.all.tags返回无效函数WebForm/GetEplementDir/返回WebFormGetElementDir回回LTER函数WebForm-GetEplementPortion(ement){var结果=新对象结果.x=0结果.y=0结果.width=0结果.hile=0{结果.x=元素.offsegleft结果.y=元素.offsecetTopvar父子=元素.offsetParent++++++++++++i++var父域名表示parent.tagName.tolowerCaseif (parentTagName != "table" && parentTagName != "body" && parentTagName != "html" && parentTagName != "div" && parent.clientTop && parent.clientLeft) { result.x += parent.clientLeft!iQQclientTop父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父/父{结果.x=元素.lefty=元素.top{如果(element.x){结果.x=元素x}(元素y){结果.y=元素y{结果.width=元素.offsetWidth结果.hile=元素.offsetHeight{结果.width=元素.system.pixelWidth结果.hile=元素.stype.像素H8返回结果函数WebForm_GetParentByTagName(元素标签Name){var父/母Var上表名表示标签名.topperCasewhyparent.parentNode : parent.parentElement!回父归母函数WebForm-SetElementH8/}}函数WebForm-SetEplementWidth(元素宽度){}}函数WebForm-SetEplementXxwebForm-SetEplementYY}}