【问题标题】:How to prevent inserting value greater than the number which user enters in text field如何防止插入的值大于用户在文本字段中输入的数字
【发布时间】:2016-11-30 20:53:52
【问题描述】:

我有一个名为 premium 的文本字段,用户可以在其中输入最多 10 位数字。点击提交后,打开另一个名为 deposit 的文本字段,其中最多可以输入 7 位数字。但我想给出一个条件,即用户不能输入超过保费的存款.. 示例:

If premium=111 Deposit should be <=111

如果存款超过溢价,则该值应改回溢价,即改为 111

有人可以帮我解决这个问题吗? 谢谢。 上面的jsfiddle:https://jsfiddle.net/U3pVM/28556/

【问题讨论】:

    标签: javascript html angularjs meteor


    【解决方案1】:

    如果您觉得有帮助,请检查一次并点赞

    https://jsfiddle.net/U3pVM/28558/

                 function TodoCtrl($scope) {
    
                    $scope.hide=false;
                    $scope.submit = function() {
                       $scope.hide=true;
                       if($scope.deposit && parseInt($scope.deposit)>parseInt($scope.premium)){
    
                         $scope.deposit = $scope.premium;
                      }
                   };
    
                 }
    

    【讨论】:

    • @H Varma .. 请检查 JS FIDDLE 链接
    【解决方案2】:

    您好,您可以使用以下代码添加 tyr 作为属性来存放输入字段。并将 id "preminum" 赋予高级输入字段。

    onkeypress="return Number(this.value()+""+event.key) <= Number($('#premium').value());"
    

    这将不允许用户输入超过溢价的价值。

    【讨论】:

      【解决方案3】:

      添加此代码:

      $scope.$watch('deposit', function(newVal, oldVal){     
          if(newVal && newVal*1 > $scope.premium*1)
              $scope.deposit = $scope.premium;    
      })
      

      【讨论】:

        【解决方案4】:

        Html5 支持带数字输入的最小值和最大值。例如: &lt;input type="number" name="deposit" min="1" max="111"&gt; 无论如何,最好检查服务器端的所有用户输入。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-04-07
          • 2021-07-10
          • 1970-01-01
          • 2019-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多