在一个页面上有一个产品列表,每个产品都有一个"添加到购物车"与之相关的形式。所有表格都完全相同(同名,元素)
每个表单都有2个元素,a)产品ID(隐藏)b)预订日期(名称=属性[日期]) 我想在将产品添加到购物车之前检查预订日期字段是否为空。 我跟随代码发出错误
function addToCart(e){
if (typeof e !== 'undefined') e.preventDefault();
var form = $(this).parents('form');
if (form[properties[Date]] === "") {
alert('Please select a date');
return false;
}
$.ajax({
type: 'POST',
url: '/cart/add.js',
async: false,
data: form.serialize(),
dataType: 'json',
error: addToCartFail,
success: addToCartSuccess,
cache: false
});
}
答案 0 :(得分:0)
希望这有帮助吗?
$('form input .dateClass').blur(function(){ if( !$(this).val() ) { alert('Please select a date'); return false; } }
或
$('form input #dateId').blur(function() { if($(this).val().length === 0) { alert('Please select a date'); return false; } }
答案 1 :(得分:0)
父母只在DOM树中为您提供直接父母。尝试:
if ($('form [name=' + properties[Date] + ']')) { }
答案 2 :(得分:0)
也许试试这个?
if (form.properties.date === "") {
alert('Please select a date');
return false;
}
'Date'是Javascript中的一个Object,但是通过使用foo [bar]表示法,你实际上试图获得一个'foo'属性,其值存储在一个名为'bar'的变量上。