回发时保留项目值

时间:2016-05-02 10:32:16

标签: javascript asp.net 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>中。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

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

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