我已尝试使用此代码验证客户输入的数量,以便他们只能输入50的倍数......
$('form.basket').bind('change',function(evt) {
if(jQuery('input.qty').val() % 50 != 0) {
alert('Your number is wrong');
evt.preventDefault();
}
}
);
如果页面上只有一个数量框,则效果很好。但是,如果有多个输入,那么我正试图让它工作。 - 我不想在这里提交任何表格 - 非常感谢任何帮助
答案 0 :(得分:5)
如果您不使用IE< 9版本,则更简单
<html>
<body>
<form action="demo_form.asp">
<input type="number" name="points" step="50">
<input type="submit">
</form>
</body>
</html>
step
属性只允许用户通过mulltiple输入。
注意:Internet Explorer 9及更早版本不支持step
标记的input
属性。
来源:w3schools
答案 1 :(得分:2)
$('form.basket').bind('change',function(evt) {
var flag = true;
jQuery('input.qty').each(function(){
if(jQuery(this).val() % 50 != 0) {
flag = false;
return false;//if one input is wrong,there is no need to verify others
}
})
if(!flag){
alert('Some number is wrong');
evt.preventDefault();
}
}
);
答案 2 :(得分:1)
您应该可以使用each
function分别处理所有实例...
$('form.basket').bind('change',function(evt) {
jQuery('input.qty').each(function(){
if(jQuery(this).val() % 50 != 0) {
alert('Your number is wrong');
evt.preventDefault();
}
});
});
当然,您可能需要对警报执行某些操作以指示哪个输入字段存在问题。
值得注意的是,用于验证时警报可能非常烦人。您可能希望考虑更新UI以指示错误。