JavaScript Chrome 对比 IE
JavaScript Chrome vs IE
我有非常简单的 JavaScript 代码,可以将值从一种形式复制到另一种形式。它在 Chrome 中完美运行,但在 IE 中并非所有内容都被复制。 "state field" 不会复制。状态字段实际上是 "select" 字段。这是函数:
function FillMemberInfo(f){
if(f.chkMemberInfo.checked == true) {
f.member_firstname1.value = f.client_first_name.value;
f.member_lastname1.value = f.client_last_name.value;
f.member_address1.value = f.client_address.value;
f.member_city1.value = f.client_city.value;
f.member_state1.value = f.client_state.value;
f.member_zip1.value = f.client_zip.value;
} else {
f.member_firstname1.value = "";
f.member_lastname1.value = "";
f.member_address1.value = "";
f.member_city1.value = "";
f.member_state1.value = "";
f.member_zip1.value = "";
}
}
您不能直接在 <select>
上设置 .value
,除非浏览器足够聪明,可以这样做。
尝试这样的事情:
function setSelectValue(sel,val) {
var opts = sel.options, l = opts.length, i;
for( i=0; i<l; i++) {
if( opts[i].value == val) {
sel.selectedIndex = i;
return;
}
}
}
那么你可以这样做:
setSelectValue(f.member_state1, f.client_state.value);
需要注意的是,较旧的浏览器不支持 从 <select>
读取 .value
,理想情况下你应该这样做:
f.client_state.options[f.client_state.selectedIndex].value;
我有非常简单的 JavaScript 代码,可以将值从一种形式复制到另一种形式。它在 Chrome 中完美运行,但在 IE 中并非所有内容都被复制。 "state field" 不会复制。状态字段实际上是 "select" 字段。这是函数:
function FillMemberInfo(f){
if(f.chkMemberInfo.checked == true) {
f.member_firstname1.value = f.client_first_name.value;
f.member_lastname1.value = f.client_last_name.value;
f.member_address1.value = f.client_address.value;
f.member_city1.value = f.client_city.value;
f.member_state1.value = f.client_state.value;
f.member_zip1.value = f.client_zip.value;
} else {
f.member_firstname1.value = "";
f.member_lastname1.value = "";
f.member_address1.value = "";
f.member_city1.value = "";
f.member_state1.value = "";
f.member_zip1.value = "";
}
}
您不能直接在 <select>
上设置 .value
,除非浏览器足够聪明,可以这样做。
尝试这样的事情:
function setSelectValue(sel,val) {
var opts = sel.options, l = opts.length, i;
for( i=0; i<l; i++) {
if( opts[i].value == val) {
sel.selectedIndex = i;
return;
}
}
}
那么你可以这样做:
setSelectValue(f.member_state1, f.client_state.value);
需要注意的是,较旧的浏览器不支持 从 <select>
读取 .value
,理想情况下你应该这样做:
f.client_state.options[f.client_state.selectedIndex].value;