2012-01-25 44 views
0

我正在嘗試爲HTML5的input type="number"元素編寫一個polyfill。 Here's a comparative example如果您的瀏覽器已經支持它。將輸入設置爲最近的有效值

如果您輸入的值無法作爲數字進行分析(例如「abc」),則在模糊時,Chrome會將該值設置回最新的有效值。我想我可以通過在字段獲得焦點時將值存儲在data-屬性中來做到這一點,以防萬一需要重新設置它,但是還有沒有更自然的方法可以「記住」表單中最新的有效值場有?

回答

0

這通常被稱爲撤消This fellow向您展示瞭如何使用JavaScript實現:

<html> 
    <head> 
     <title>Title</title> 
     <script type="text/javascript" language="javascript"> 
     function InputBalance_OnChange(sender) { 
      if(isNaN(sender.value)) { 
       sender.value = isNaN(sender.prevValue) ? 0 : sender.prevValue; 
      } else { 
       sender.prevValue = sender.value; 
      } 
     } 
     </script> 
    </head> 
    <body> 
     <table> 
     <tr> 
      <td>Account Number</td> 
      <td><input id="inputAccountNumber" type="text" /></td> 
     </tr> 
     <tr> 
      <td>Balance</td> 
      <td><input id="inputBalance" type="text" onChange="InputBalance_OnChange(this)" value="0" /></td> 
     </tr> 
     </table> 
    </body> 
</html> 
+0

aha! [prevValue](http://help.dottoro.com/ljhmemth.php)正是我所需要的。 – kojiro

+0

說得過早。 'prevValue'屬性看起來是屬性修改的,並且看起來不是我正在處理的事件類型的屬性。 – kojiro

相關問題