回发时维护项目值

mantain items values when postback

我有以下脚本,它允许我计算两个 <input type="text"> 之间的小时差并将结果设置到另一个输入框中。

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> 中。我怎样才能做到这一点?

只需使用 asp:TextBox 而不是传统的 html 输入。因此:

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