HTML5输入类型=数字更改步骤行为

前端之家收集整理的这篇文章主要介绍了HTML5输入类型=数字更改步骤行为前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我使用type =“number”的输入字段,其中step =“100”.
我不希望奇数无效.
我只想增加或减少值为1000.
<input type="number" min="100" max="999999" step="100" />

如果用户输入值“199”并提交,则他/她会收到错误,因为该值不能被100分割.
但我想要的步骤值是控制微调器的行为,例如如果用户点击我希望值199变为200,如果他/她点击,我希望它变为100.或者理想情况下,我希望值增加或减少值为100.

我该怎么做呢?
我尝试使用无效事件(使用jQuery 1.7.2),如下所示:

$( "[type='number']" ).bind( 'invalid',function( e ) {
    var el = $( this ),val = el.val( ),min = el.attr( 'min' ),max = el.attr( 'max' );

    if ( val >= min && val <= max ) {
        return false;
    }
} );

但这导致表单未提交.

PS.:这是Fedora 16上的Google Chrome 20.0.1132.57.

解决方法

我不认为你可以,步骤和验证是 closely tied together.将来你可以覆盖 stepUp() and stepDown() functions来获得你描述的行为,但我还没有研究过这是否是这些事情的预期用例.我建议在 WHATWG mailing list上发帖,具体询问这些功能并描述你的用例.

出于当前的实际目的,您是否尝试过设置step = 1并绑定到click事件来捕获?我可以看到,区分“向上”和“向下”点击可能存在问题,但这可能是可以克服的.然而,可能更容易使用文本输入,适当地设置模式属性并实现自己的微调器.

原文链接:https://www.f2er.com/html5/168849.html

猜你在找的HTML5相关文章