2016-09-28 20 views
0

我有一個多重文本框與asp:repeater綁定,我想計算在文本框出現後在該文本框中鍵入文本所用的時間。我通過onblur和onfocus事件嘗試了它,但由於它在計算上一個文本框的時間的同時佔用了下一個文本框的焦點時間,因此無法正常工作。 我的中繼器的代碼如下如何使用Javascript計算asp:repeater文本框中的響應時間?

<asp:Repeater ID="rpt1" runat="server"> 
<asp:TextBox ID="txt1" autocomplete="off" EnableViewState="true"  onfocus="f1(this);" onblur="f2(this);" runat="server"></asp:TextBox> 
</asp:Repeater> 

和JavaScript這樣的代碼

 function f1(e) { 
      var onFocusTextTime = new Date().getTime(); 
      alert("onFocus:" + onFocusTextTime); 
      return onFocusTextTime; 
     } 
     function f2(e) { 
      var responceForAnswer = ""; 
      var diff_result = ""; 
      var onBlurTextTime = new Date().getTime(); 
      alert("onBlur:" + onBlurTextTime); 
      var onFocusTextTime = f1(); 
      diff_result = onFocusTextTime - onBlurTextTime; 
      alert("diff_result:" + diff_result); 
      var hours = diff_result/(1000 * 60 * 60); 
      var absoluteHours = Math.floor(hours); 
      var h = absoluteHours > 9 ? absoluteHours : '0' + absoluteHours; 
      var minutes = (hours - absoluteHours) * 60; 
      var absoluteMinutes = Math.floor(minutes); 
      var m = absoluteMinutes > 9 ? absoluteMinutes : '0' + absoluteMinutes; 
      var seconds = (minutes - absoluteMinutes) * 60; 
      var absoluteSeconds = Math.floor(seconds); 
      var s = absoluteSeconds > 9 ? absoluteSeconds : '0' + absoluteSeconds; 
      responceForAnswer = h + ':' + m + ':' + s; 
      alert("responceForAnswer:" + responceForAnswer); 

     } 
+0

我會提供,但請幫助! – KulOmkar

回答

0

我只是改變了我的代碼如下方式及其如果需要任何額外的細節,然後工作

var onFocusTextTime; 
    var onFocusTextTimeForPrevTextBox = new Date().getTime(); 

    function f1(e) { 

     onFocusTextTime = onFocusTextTimeForPrevTextBox; 
     onFocusTextTimeForPrevTextBox = new Date().getTime(); 
     return onFocusTextTime; 
     } 
     function f2() { 
      var responceForAnswer = ""; 
      var diff_result = ""; 
      var onBlurTextTime = new Date().getTime(); 
      var onFocusTextTime = f1(); 
      diff_result = onBlurTextTime - onFocusTextTime; 
      var hours = diff_result/(1000 * 60 * 60); 
      var absoluteHours = Math.floor(hours); 
      var h = absoluteHours > 9 ? absoluteHours : '0' + absoluteHours; 
      var minutes = (hours - absoluteHours) * 60; 
      var absoluteMinutes = Math.floor(minutes); 
      var m = absoluteMinutes > 9 ? absoluteMinutes : '0' + absoluteMinutes; 
      var seconds = (minutes - absoluteMinutes) * 60; 
      var absoluteSeconds = Math.floor(seconds); 
      var s = absoluteSeconds > 9 ? absoluteSeconds : '0' + absoluteSeconds; 
      responceForAnswer = h + ':' + m + ':' + s; 
      console.log(responceForAnswer); 

     } 
相關問題