Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将输入设置为其最近的有效值_Javascript_Html_Validation_Polyfills - Fatal编程技术网

Javascript 将输入设置为其最近的有效值

Javascript 将输入设置为其最近的有效值,javascript,html,validation,polyfills,Javascript,Html,Validation,Polyfills,我试图为HTML5的输入类型=数字元素编写一个polyfill。如果您的浏览器已经支持它 如果在模糊时输入一个无法解析为数字的值,例如abc,Chrome会将该值设置回您最近使用的有效值。我想只要字段获得焦点,我就可以通过将值存储在数据属性中来实现这一点,以防我需要将其设置回原处,但是有没有更自然的方法来记住表单字段最近的有效值呢?这通常称为撤消。演示如何使用JavaScript执行此操作: <html> <head> <title>Titl

我试图为HTML5的输入类型=数字元素编写一个polyfill。如果您的浏览器已经支持它

如果在模糊时输入一个无法解析为数字的值,例如abc,Chrome会将该值设置回您最近使用的有效值。我想只要字段获得焦点,我就可以通过将值存储在数据属性中来实现这一点,以防我需要将其设置回原处,但是有没有更自然的方法来记住表单字段最近的有效值呢?

这通常称为撤消。演示如何使用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> 
我说得太快了。prevValue属性似乎用于属性修改,而不是我正在处理的事件类型的属性。