Установка входа в его последнее действительное значение - PullRequest
1 голос
/ 26 января 2012

Я пытаюсь написать polyfill для элемента input type="number" HTML5. Вот сравнительный пример , если ваш браузер уже поддерживает его.

Если вы вводите значение, которое не может быть проанализировано как число, например «abc», при размытии Chrome установитвернуть обратно к какому-либо последнему действительному значению, которым вы былиЯ полагаю, что я мог бы сделать это, сохраняя значение в атрибуте data- всякий раз, когда поле получает фокус, на тот случай, если мне нужно установить его обратно, но есть ли более естественный способ «запомнить» последнее действительное значениеполе формы имело?

1 Ответ

0 голосов
/ 26 января 2012

Это часто называют отменить . Этот парень показывает вам, как сделать это с помощью 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> 
...