【发布时间】:2014-08-12 12:14:50
【问题描述】:
我尝试做一些编程: 我有这个带有不同输入字段(名称、amountOfProductA、amountOfProductB、amountOfProduct...)的订单表格,经过一些验证后,我使用 jquery 脚本提交了这个表格。
- 我计划重复使用代码,产品字段的数量可能会不时变化。
- 在验证中,我确保至少填写了一个 (type="number") 产品输入字段。
- 如果用户在其中一个产品输入字段中输入了一个数字,而在另一个输入字段中错误地输入了一个字符(或一个数字和一个字符),则表单会在后面的字段为空的情况下提交。
- 由于填写错误的字段提交为空,我无法验证这一点。
您能否告诉我如何验证这一点? 我应该只使用 type="text" 输入字段吗? (如何检查是否至少填写了一个产品字段?)
这是我的代码:
jQuery(function ($) {
$('#bttn-submit').click(function () {
$('input').css('background', '#fff'); // reset BGcolor
var formOk = true;
var allProdFields = $('input[type=number]') // Selection of all Product('number') fields
var numberOfProdFields = allProdFields.length; // How many ('number') fields are there?
// How many product fields are empty?
var prodFieldsEmpty = 0;
for (i = 0; i < numberOfProdFields; i++) {
if( $(allProdFields[i]).val() == '' || $(allProdFields[i]).val() == 0){
prodFieldsEmpty++;
}
}
// Is there at least one product field filled?
if(prodFieldsEmpty == numberOfProdFields){
var formOk = false;
alert('Form not OK');
allProdFields.css('background', '#f30302');
}
// Is the name field filled?
if( $('#pesoonNaam').val() == '') {
$('#pesoonNaam').css('background', '#f30302');
var formOk = false;
}
if( formOk == true ) {
document.actieForm.submit();
}
})
})
【问题讨论】:
-
你可能想看看
.each()
标签: javascript jquery forms validation