1

input type="number"HTML5 の要素のポリフィルを作成しようとしています。お使いのブラウザーが既にサポートしている場合の比較例を次に示します。

「abc」などの数値として解析できない値を入力すると、ぼかしたときに、Chrome はその値を最新の有効な値に戻します。フィールドがフォーカスされるたびに値を属性に格納することでそれを行うことができると思いますが、data-それを元に戻す必要がある場合に備えて、フォームフィールドの最新の有効な値を「記憶」するより自然な方法はありますか?持っていました?

4

1 に答える 1

0

これはしばしばundoと呼ばれます。このフェローは、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> 
于 2012-01-25T21:29:51.800 に答える