繁体   English   中英

JavaScript Chrome与IE

[英]JavaScript Chrome vs IE

我有非常简单的JavaScript代码,可以将值从一种形式复制到另一种形式。 它在Chrome中完美运行,但是在IE中,并非所有内容都被复制。 “状态字段”将不会复制。 状态字段实际上是“选择”字段。 这是函数:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM