如何检查输入多于占位符

时间:2014-04-08 10:17:10

标签: javascript html validation input

我有一个像这样的输入字段

<input type="number" id="return_pro" name="available" placeholder="10 Available">

如果用户输入的值大于10(可用),则不应接受并显示错误。我怎样才能做到这一点?我需要在输入标签本身使用它。因为文本字段位于foreach循环中。因此,文本字段的数量可能会增加。

5 个答案:

答案 0 :(得分:5)

HTML:

<input type="number" id="return_pro" name="available" placeholder="10 Available" onblur="check(this)">

使用Javascript:

 <script>

        function check(obj){
         var val=obj.placeholder.split(" ")[0];
         if(obj.value > parseInt(val)){
           alert('invalid');
           obj.value="";
           obj.focus();
          }
         }

    </script>

答案 1 :(得分:0)

占位符正如它所说的那样,占位符并且没有相关的验证。

您正在寻找的是某种验证,无论是 javascript / jquery 还是服务器端 PHP

我建议使用一个教程来了解验证如何像这个here一样工作,因为学习将来会对未来有更大的价值,而不仅仅是复制和粘贴人们在堆栈溢出时提供的一些代码。

答案 2 :(得分:0)

<input type="number" id="return_pro" name="available" placeholder="10 Available">
<input type="button" value="ok" id="submit"/>

$(function(){
    var placeholder=$("#return_pro").attr("placeholder");
   var available=parseInt(placeholder.replace(" available",""));


    $('#submit').click(function(){

     var val=$("#return_pro").val();
      if(val>available)
          alert("Sorry");
    });
});

我认为这实际上是你在找。

DEMO HERE

答案 3 :(得分:-1)

使用jQuery

$("#return_pro").keypress(function(){
  var intValue = parseInt($(this).val()); 
  if(intValue > 10) {
  //value more more then 10, do something
 }
});

答案 4 :(得分:-1)

$('#return_pro').keyup(function(){
 var max = $(this).attr('placeholder').match(/[0-9]+/);
    if(parseInt($(this).val())>parseInt(max)){
        alert('Only '+max+' available');
    }
});

DEMO:http://jsfiddle.net/uQH64/