我有一个像这样的输入字段
<input type="number" id="return_pro" name="available" placeholder="10 Available">
如果用户输入的值大于10(可用),则不应接受并显示错误。我怎样才能做到这一点?我需要在输入标签本身使用它。因为文本字段位于foreach循环中。因此,文本字段的数量可能会增加。
答案 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");
});
});
我认为这实际上是你在找。
答案 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');
}
});