获取单选框选中的值
这种写法在chrome中无法获取所选标签的value属性的值
var search=$("input[type='radio'][name='search'][checked='checked']").val();
改成如下方式,在IE和chrome中可获取所选标签的value属性的值
var search=$("input[type='radio'][name='search']:checked").val();
谷歌不支持window.showModalialog的方式打开新窗口,窗口的大小等参数写法也不一样。
var openWindow=window.open('${ctxPath}/purchase.do?cmd=queryProvince','','height=550,width=500,center=yes,top=200,resizable=yes,status=no,scrollbars=no');
使用window.open打开新窗口,且在子页面关闭时获取子页面返回的数据
父页面:
function queryProvince(){var openWindow=window.open('${ctxPath}/purchase.do?cmd=queryProvince','','height=550,width=500,center=yes,top=200,resizable=yes,status=no,scroll=no');var tool = setInterval(function(){if(openWindow.closed){//在子页面对该标签的value进行赋值var provinceCode = $("#provinceCode").val();clearInterval(tool);}},200);}
在父页面的body中定义:
<input id=”provinceCode” type=”hidden” />
子页面:
function click_save_btn(){ var returnStr=$('input:checked').val();// 给父页面id为”provinceCode”的元素的value赋值window.opener.document.getElementById("provinceCode ").value=returnStr;window.close();}
如果想让iframe 的src属性指向一个空页面,可以写成:src=“”,而不能写成src=”#”判断当前使用的是否是谷歌浏览器,true为谷歌,false为IE。
window.navigator.userAgent.indexOf("Chrome") != -1
如果改为window.open()方法后仍然不生效
1、看下这个方法是不是在$(function{})中被调用的,在这里调用是不生效的,因为浏览器认为这不是用户主动想要跳转的,可以把windo.open()放在点击事件里调用
2、如果是谷歌生效而IE不生效,可以在代码中设置打开窗口时使用指定的IE版本:
<meta http-equiv="X-UA-Compatible" content="IE=11" />
子页面获取父页面的变量
父页面:
window.username = “tom”;window.user={“name”:”jack”,”age”:18};
子页面:
var username= window.opener.username;var name = window.opener.user.name;
关闭通过iframe的方式打开的页面
如果子页面是个iframe,可以通过window.parent.opener.close()来关闭当前页面,同理,如果iframe中嵌套了iframe,可以window.parent.parent.opener.close()。ajax请求无法进入scuess方法,总是进入error方法,检查ajax请求的datatype ,把json改为text,对应的后台代码增加返回数据类型设置,如下
response.setContentType("text/html");response.getOutputStream().println("1");
刷新当前页面
window.location.herf = window.location.herf
样式写法区别
Chrome写法:
var allTrList = document.form1.getElementsByTagName("tr");allTrList[x].style.setProperty("display","none");
chrome中,使用window的方式打开新窗口,如果代码没有报错,但是窗口没有打开,可能是被浏览器拦截了,可以在浏览器的地址栏查看是否被拦截,点击”允许”即可