Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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_Jquery_Validation_Usability - Fatal编程技术网

Javascript 验证输入字段。可用性

Javascript 验证输入字段。可用性,javascript,jquery,validation,usability,Javascript,Jquery,Validation,Usability,我正在做的网站,这将有助于人们收集他们的信息 水表读数。目前,我正在做输入表格,用于添加当月读数 浏览器在用户输入数据时检查数据,而不是在通过jquery发送表单时/之后。例如,用户输入123,然后按d。按下d键后,输入字段附近会出现错误等。。。因此,字段正在验证键控操作 我正在考虑添加测试,如果用户输入的值不小于上个月或不是上个月,只是最后一个输入值,则该测试将通过 想象一下:上个月米的值是250。目前为255。输入字段为空。用户凝视打印。按2键输入的值现在是2。请记住,该值是在向上键时测试的

我正在做的网站,这将有助于人们收集他们的信息 水表读数。目前,我正在做输入表格,用于添加当月读数

浏览器在用户输入数据时检查数据,而不是在通过jquery发送表单时/之后。例如,用户输入123,然后按d。按下d键后,输入字段附近会出现错误等。。。因此,字段正在验证键控操作

我正在考虑添加测试,如果用户输入的值不小于上个月或不是上个月,只是最后一个输入值,则该测试将通过

想象一下:上个月米的值是250。目前为255。输入字段为空。用户凝视打印。按2键输入的值现在是2。请记住,该值是在向上键时测试的?jQuery将启动测试并返回错误,因为字段中的2个当前值<上个月的仪表值250。之后,他按下5键,输入值现在是25。25<250,因此jquery仍将显示错误,该值、用户输入无效。之后,他再次打印5,现在输入的值是255。255不小于250,因此错误消息/块将消失

所以问题是这样的:如果输入的值小于上个月的值,那么在这个测试检查中,在键控上显示错误是否正确?我认为这是不正确的,因为有些用户对pc非常陌生,这条消息可能会吓到他们或idk:这样可以吗?或者我应该找到一种方法,仅在onblur action上测试这一点,从现场移除焦点吗?但显示错误信息(我指的是C的可用性)会不会太晚?我在ppl输入数据时检查输入,因为它的可用性更好,所以ppl知道他在输入阶段的错误,而不是在发送表单之后


也许还有其他建议?

添加两个事件,一个onkeyup和一个onblur?onkeyup可以检查不正确的字符,onblur可以将输入值与上个月进行比较

向keyup添加超时,这可能是同一问题的重复:


也许这是个好建议。找到这个插件的问题,但还没有完成。有没有关于如何在代码中使用onkeyup延迟的建议?检查没有远程测试,但是你能帮我做一些数字测试吗?谢谢。你能在JSFIDLE上再发一次吗?我以为这是在验证,但现在不是。我希望用这样的方式来包装它:var delay=2500//2.5秒setTimeoutfunction{//2.5秒后要执行的代码},delay你是什么意思?这是JSFIDLE:。这是正确的。只是链接到另一个,所以答案不是可接受的答案。如果您将答案编辑为完全独立,我将收回我的否决票。在StackOverflow上不允许向我们征求意见的问题。最好提出非常具体的问题,而不是什么是最好的?如果您使用的是jQuery验证,则在初始提交事件之后才会进行任何验证。然后onkeyup和onblur开始发挥作用。有很多方法可以禁用或修改这些事件,但我无法对此类一般性问题给出具体的答案。