form submit时将__VIEWSTATE和__VIEWSTATEGENERATOR一起post到另外的页面,出现验证视图状态 MAC 失败。

错误信息: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

原因分析:

F_App_Cux_Pro.aspx页面原代码:

this.form1.action = "F_Add_App_Cux_Pro.aspx?CuxId=" +$("#CuxId").val() + "";
this.form1.submit();

也就是从A页面提交到B页面,form submit时将A页面的__VIEWSTATE和__VIEWSTATEGENERATOR一起post到B页面,出现验证视图状态 MAC 失败。

解决方法:

 1 //将.net控件设置为disabled,则这些控件不会被提交
 2 function setViewDisable(_form) {
 3     //var _form = $("#form1");
 4     var _VIEWSTATE = _form.find("#__VIEWSTATE"); //“__VIEWSTATE”和“__EVENTTARGET”和“__VIEWSTATEFIELDCOUNT
 5     var _EVENTTARGET = _form.find("#__EVENTTARGET");
 6     var _VIEWSTATEFIELDCOUNT = _form.find("#__VIEWSTATEFIELDCOUNT");
 7     var _VIEWSTATEGENERATOR = _form.find("#__VIEWSTATEGENERATOR");
 8
 9     _VIEWSTATE.attr("disabled", "disabled");
10     _EVENTTARGET.attr("disabled", "disabled");
11     _VIEWSTATEFIELDCOUNT.attr("disabled", "disabled");
12     _VIEWSTATEGENERATOR.attr("disabled", "disabled");
13 }
14
15 setViewDisable($("#form1"));
16 this.form1.action = "F_Add_App_Cux_Pro.aspx?CuxId=" +$("#CuxId").val() + "";
17 this.form1.submit();

相关链接:
表单的successful controls,http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.2

时间: 2024-11-05 19:45:31

form submit时将__VIEWSTATE和__VIEWSTATEGENERATOR一起post到另外的页面,出现验证视图状态 MAC 失败。的相关文章

上传文件时用form.submit提交的时候在低版本的IE中报拒绝访问的错误

上传文件的时候,在IE7下总是传不了,但FireFox,IE11和Chrome下则可以上传.发现是form.submit();时出错了(“拒绝访问”). html代码为: <label onclick="Upload()"> 上传附件</label> <form id="uploadForm" enctype="multipart/form-data" target="frameFile" met

js提交表单错误:document.form.submit() is not a function

今天在写JS时,遇上这么个错误:"document.form.submit() is not a function",经过一番搜索,最终找到了修复方法. 这个错误一般是由于表单<form>-</form>中含有name="submit"时,提交时就会有冲突,这个错误常见于按钮上,如: 在Javascript做submit()的时候就会出现冲突,这时将name="submit"改成别的名字就可以了:即使不是按钮,在表单的输入

使用$(&quot;form&quot;).submit(); 无法提交

<form action="register.php" method="post"> <div class="loginform_row"> <label>用户名:</label> <input type="text" class="loginform_input" id="name" name="name" /&

ExtJS 表单 submit时错误处理

这里不提success,提提Extjs 表单提交的failure方法. 在表单的提交中,当发生异常行为时通常分为三种情况 1. 无法连接到服务器 2. 表单验证错误 3. 业务逻辑错误 对应下面的代码 [javascript] view plaincopy failure = function(form, action){ switch (action.failureType) { case Ext.form.Action.CLIENT_INVALID: Ext.ux.Toast.msg("错误

form提交时,传递额外的参数

在进行表单提交时,会遇到在提交前增加额外参数的情况,对此有如下几种解决方法: 1. 在表单里使用hidden的input,将参数放到里面. 缺点:在form表单里会增加一些input节点,感觉不爽. 2. 在提交前使用javascript动态在表单里添加input. 缺点:需要写脚本. 3. 使用ajax提交拼接参数. 缺点:如果表单里有文件需要上传,就行不通了. form提交时,传递额外的参数,布布扣,bubuko.com

[ext]form.submit()相关说明

form.submit({    url:"../addOrUpdatePack.shtml",method:'POST',success:function(f,action) {//f是代表formalert('rpackCode:'+action.result.rpackCode)             },             failure:function(f,action){                }})如果要执行success,则需要在服务器action返回

Prevent form submit before pass the validation with React-Rails

I've been working on Rails app refactoring by react-rails recently. We want to use React components but keep the advantages of Rails at the same time. So typically Rails will handle the CRUD and the route. Now I'm facing a problem which is how to use

easyui form submit 不提交

http://bbs.csdn.net/topics/390811964 function saveProduct() {             //$('#fm').form('submit', {             //    url: url,             //    onSubmit: function () {             //        return $(this).form('validate');             //    },   

Extjs4,form提交时emptyText传值问题

在Extjs4中,form提交时,文本框的emptyText会传到后台,比如 上图中的“请选择”这样的文本会作为值传到后台. 解决方法: form提交时配置  submitEmptyText: false即可.submitEmptyText默认为true