jquery mobilehtml网页内嵌iframe中apsx winfrom验证失效如何解决?
在pc端正常,手机执行没有任何反应。最简单的加入textbox控件、一个验证控件、一个button控件
点击button直接回传了。
function validate()
{
if(typeof(Page_ClientValidate) == 'function')
{
if(Page_ClientValidate('')==false)
{
alert("0");
return;
}
}
alert("1");
}
在手机端一直返回1。
1:注意函数 Page_ClientValidate 中的校验代码,贴出来看看
2:可能浏览器内核判断 是否为==false有差别 改成 Page_ClientValidate('')===false 就是三个 “=“,
1、Page_ClientValidate()ASP.Net自带的WebUIValidation.js里的函数,
应该和这个函数没有关系。手机直接访问aspx是可以引发验证。
而通过jquery mobile html+iframe加载就无法引发验证。点击服务器控件button没有验证直接就回传了。
可能是jquery mobile 屏蔽了asp.net 客户端验证函数。
2、手机直接访问和通过jquery mobile 访问浏览器内核应该是一样的吧。
微软自带的验证js定义过$这个符号了,和jquery冲突的,去掉你iframe加载页面的jquery框架,或者使用noConflict释放jquery对$的占用,注意修改你使用到jquery的$变量的代码,全部改为jQuery全拼
<script src='jquery.js'></script>
<script>jQuery.noConflict()</script>
你不是用iframe加载的吧,用的jqeury的ajax加载,iframe的话和父页独立的,应该不会有问题【通过你说的手机直接访问aspx是可以引发验证说明iframe加载的aspx没有导入jquery,从而说明你就不是用iframe加载的】
是通过iframe加载的
$("#fromView").attr('src','~/test.aspx');
....
......
test.aspx页面是没有引用jquery框架。
再说在pc端通过html+iframe也是可以正常引发验证。
手机端访问就是不能引发。
真是抱歉,今天用手机直接访问aspx网页竟然所有网页都不能验证,验证控件失效了。因程序已开发使用好几年,记得之前手机访问也是么问题的,就是界面不够美观,所以想用jquery mobile +ifrmae加载显示,但是不能验证,
以为是jquery mobile的问题,现在看来还是asp.net的问题,不知为什么会出现这个问题?pc端验证是没问题的。就是手机端不行,所有验证控件都失效。
查了网上的方法都没法解决。网站是asp.net 2.0开发的。手机是iphone 7 safari浏览器。
现在确认和jquery 么有关系。和浏览器有关系,具体的和手机浏览器有关。还和版本有关。经测试:iPhone 10.x以上版本,ff,chrome,safari都无法验证,只有uc可以。mac os x 10.8.5,chrome,safari都可以。ipad min2 ios 7.x safari也是可以。android没有问题。这个问题是微软挖的坑还是苹果挖的,之前记得手机访问没有问题的,所以怀疑jquery。难道苹果safari浏览器不向下兼容的吗?