2017-07-26 1 views
0

if (elem.changed == 'true')は私たちのサーバへのアップデートをして互換性モードなしで動作しているので、今はが動作していないと思うので、elem.changeは "未定義"。どのようなオプションを私は私のコードをたくさん変更する必要はありません方法で行うことができますか?代替のtoif(elem.changed == 'true')

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); 
 
    } 
 
    } 
 

 

 
}

+0

@MilanChheda申し訳ありませんが、コードの書式をトリガするために4つの先頭のスペースを使用しないなど、実際の問題がない限り、質問のコーディングスタイルを完全に改訂することはお勧めしません。同じ行の中括弧が改善されていることに私は同意しますが、インデントを2つのスペースに減らすことが改善されていることに同意しません。また、 'if'のあるブランチで中括弧を使用するなど、他のより重要なスタイルの問題を修正しませんでしたが、他の中括弧は入れませんでした。 –

+0

質問のコードを改善するコードの書式変更があると思われる場合は、提案された変更を回答として投稿することをお勧めします。 (はい、実際には特定の質問に回答しない "回答"を投稿することはOKですが、コードを改善できる他の方法を示唆しています)。変更を回答として投稿することにより、OPなどの読者は、オリジナルのスタイルを提案し、コードをどのように改善したかを確認してください。あなたの編集を元に戻し、あなたの提案を答えとして投稿することを検討してください。もしあなたがそうするなら、私はあなたにアップヴォートを与えます。 ;-) –

+0

確かに@MichaelGeary。これからの編集であなたの意見を検討します。この特定のケースでは、コードは書式設定されておらず、読めませんでした。それで、私はちょうど 'ティディ 'を使用し、それをスタイルにしました。 –

答えて

0

私はあなたがこのようにHTMLでonChangeイベントを使用することができると思う:jQueryのすべてのブラウザと互換性があり、そうであっても

<select onchange="myFunction()">

+0

この機能は、HTMLで呼ばれているところである。

\t \t \t \t \t \t Enviar \t \t \t \t \t
\t \t \t \t <%}他{%> \t \t \t \t \t Nodo se podem alterar registos anteriores ao dia 16 doúltimomês。 \t \t \t \t <% } %> – Pbatista