首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:仅允许小于输入初始值的值

Javascript:仅允许小于输入初始值的值
EN

Stack Overflow用户
提问于 2016-12-22 10:08:03
回答 3查看 1.2K关注 0票数 0

在我的表单上,我有许多文本输入字段,其中包含预先填充的十进制值,用户可以在提交表单之前编辑这些值。

我想知道是否可以使用javascript/jquery,使每个输入只允许小于初始值的值。

我发现它很有挑战性,所以我想把它贴在这里。谢谢你们

EN

回答 3

Stack Overflow用户

发布于 2016-12-22 10:16:51

使用jQuery Validation pluginmax method

示例:

代码语言:javascript
复制
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Makes "field" required and 23 or smaller.</title>
<link rel="stylesheet" href="http://jqueryvalidation.org/files/demo/site-demos.css">

</head>
<body>
<form id="myform">
<label for="field">Required, maximum value 23: </label>
<input type="text" class="left" id="field" name="field">
<br/>
<input type="submit" value="Validate!">
</form>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
<script>
// just for the demos, avoids form submit
jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$( "#myform" ).validate({
  rules: {
    field: {
      required: true,
      max: $('your_input_selector').val()
    }
  }
});
</script>
</body>
</html>
票数 2
EN

Stack Overflow用户

发布于 2016-12-22 10:22:58

这可能会对你有所帮助:

代码语言:javascript
复制
var initialValue = $("#myTextbox1").val()
$("#myTextbox1").on("input", function() {
    if($("#myTextbox1").val() > initialValue) {
        $("#myTextbox1").val(initialValue);
    }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="myTextbox1" type="text" value="5"/>

票数 0
EN

Stack Overflow用户

发布于 2016-12-22 13:08:59

此解决方案将输入转换为数字,防止默认表单操作,检查输入值是否为数字,如果不是,则警告用户并重置默认输入值,检查新值是否小于原始值,如果不是,则将输入重置为原始值。

HTML

代码语言:javascript
复制
<form id="myForm" action="">
    <input type="text" id="myValue" value="5" />
    <input type="button" id="myButton" value="validate" />
</form>  

JavaScript

代码语言:javascript
复制
var origVal = $('#myValue').val();

$('#myButton').on('click', function(e) {
        var getVal = Number($('#myValue').val());
        e.preventDefault();

        if (isNaN(getVal) === true) {
            alert('The input value has to be a number.');
            $('#myValue').val(origVal);
        }

        if (getVal > origVal) {
            alert('The input value has to be less than the original value of ' + origVal);
            $('#myValue').val(origVal);
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41274781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档