给定jQuery中的表单对象,测试表单元素是否为空

时间:2015-09-11 22:53:17

标签: javascript jquery forms

在一个页面上有一个产品列表,每个产品都有一个"添加到购物车"与之相关的形式。所有表格都完全相同(同名,元素)

每个表单都有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
  });

}

3 个答案:

答案 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'的变量上。