2016-05-02 3 views
0

私は2つの時間差を<input type="text">の間にとり、結果を別の入力ボックスに設定できる次のスクリプトを持っています。ポストバック時のmantainアイテム値

function restarHoras1() { 
     inicio = document.getElementById("Start1").value; 
     fin = document.getElementById("End1").value; 
     inicioMinutos = parseInt(inicio.substr(3, 2)); 
     inicioHoras = parseInt(inicio.substr(0, 2)); 
     finMinutos = parseInt(fin.substr(3, 2)); 
     finHoras = parseInt(fin.substr(0, 2)); 
     transcurridoMinutos = finMinutos - inicioMinutos; 
     transcurridoHoras = finHoras - inicioHoras; 

     if (transcurridoMinutos < 0) { 
      transcurridoHoras--; 
      transcurridoMinutos = 60 + transcurridoMinutos; 
     } 
     if (transcurridoMinutos < 10) { 
      transcurridoMinutos = "0" + transcurridoMinutos; 
     } 
     if (transcurridoHoras < 0) { 
      transcurridoHoras = 24 + transcurridoHoras; 
     } 
     horas = transcurridoHoras.toString(); 
     minutos = transcurridoMinutos.toString(); 
     if (horas.length < 2) { 
      horas = "0" + horas; 
     } 
     if (minutos.length < 2) { 
      minutos = minutos + "0"; 
     } 
     document.getElementById("Duration1").value = horas + ":" + minutos; 
     if (fin.length != 5) { 
      document.getElementById("End1").style.backgroundColor = 'orangered'; 
      return; 
     } 
     if (fin.length = 5) { 
      document.getElementById("End1").style.backgroundColor = 'lightgreen'; 
      return; 
     } 
    } 

ポストバック時に値が削除される点を除いて、問題なく動作します。値を<input>に変更する必要があります。これどうやってするの?

+0

あなたがはい、あなたは正しいHTMLのテキストボックス –

答えて

0

伝統的なhtml入力の代わりにasp:TextBoxを単に使用してください。したがって:

inicio = document.getElementById("<%= TextBox1.ClientID %>").value; 
    fin = document.getElementById("<%= TextBox2.ClientID %>").value; 
+0

の代わりにasp.netのTextBoxコントロールを使用することができます。それは簡単です。ありがとうございました!! –

関連する問題