替代toif(elem.changed =='true')

时间:2017-07-26 09:19:54

标签: javascript

我认为if (elem.changed == 'true')现在与IE不兼容,因为我们对服务器进行了更新,现在我们在没有兼容模式的情况下工作,因为elem.change现在是“未定义”,所以此功能无效。我可以用一种不必修改代码的方式做什么选择?

function gravatabela(numRegs, dia) {
  var params = '';
  url = '';

  for (k = 0; k < numRegs; k++) {
    url = '';
    vSend = true;
    elem = document.getElementById("tr" + k);
    if (elem.changed == 'true') {
      inputs = elem.getElementsByTagName("select");
      params = '?LINEID=' + k;
      for (var i = 0; i < inputs.length; i++) {
        if (inputs[i]) {
          params += '&' + inputs[i].name + '=' + inputs[i].value;

        }
      }

      inputs = elem.getElementsByTagName("span");
      for (var i = 0; i < inputs.length; i++) {
        if (inputs[i]) {
          params += '&' + inputs[i].name + '=' + inputs[i].innerText;

        }
      }

      inputs = elem.getElementsByTagName("input");
      for (var i = 0; i < inputs.length; i++) {
        if (inputs[i]) {
          if (inputs[i].type == "checkbox") {
            //alert(i);

            params += '&' + inputs[i].name + '=' + (inputs[i].checked ? "1" : "0");
            //alert(params);
          } else {
            if (inputs[i].juntadia) {
              if (inputs[i].value && inputs[i].value != '') {
                if (inputs[i].length == 0 || validaHorasStr(inputs[i].value))
                  params += '&' + inputs[i].name + '=' + inputs[i].juntadia + ' ' + inputs[i].value + ':00';
                else {
                  vCampo = '';
                  if (inputs[i].name == "EFEC_ENT")
                    vCampo = 'Hora de entrada (efectiva)';
                  if (inputs[i].name == "EFEC_SAI_ALM")
                    vCampo = 'Hora de saida para almoço (efectiva)';
                  if (inputs[i].name == "EFEC_REG_ALM")
                    vCampo = 'Hora de regresso de almoço (efectiva)';
                  if (inputs[i].name == "EFEC_SAIDA")
                    vCampo = 'Data de saída (efectiva)';
                  updatepage(k + '$KO$Erro nos dados a enviar: o campo ' + vCampo + ' não está correcto.');
                  vSend = false;
                }
              } else
                params += '&' + inputs[i].name + '=';

              //alert(inputs[i].juntadia + ' ' + inputs[i].value + ':00');
            } else
              params += '&' + inputs[i].name + '=' + inputs[i].value;

          }
        }
      }
      if (vSend) {
        url = 'grupo4_pantalla6_upd.jsp' + params;
        //alert(url);
        xmlhttpPost(url);
      }
      //alert(url);
    }
  }


}

1 个答案:

答案 0 :(得分:0)

我认为您可以在HTML中使用onChange事件:

<select onchange="myFunction()">

即使如此,jQuery也与所有浏览器兼容。