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

Test if form element is empty given the form object in jQuery

本文关键字:表单 元素 是否 测试 单对象 jQuery      更新时间:2023-09-26

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

每个表单有2个元素,a)产品Id(隐藏)b)预订日期(name=properties[Date])在将产品添加到购物车之前,我想检查预订日期字段是否为空。下面的代码给出了一个错误

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
  });
}

希望这对你有帮助?

<>之前$('form input .dateClass').blur(function(){$(this).val()) {alert('请选择一个日期');返回错误;}}之前

<>之前$('form input #dateId').blur(function() {如果($ ().val()。长度=== 0){alert('请选择一个日期');返回错误;}}

parents只给你DOM树中的直接父节点。试一试:

if ($('form [name=' + properties[Date] + ']')) { }

试试这个?

if (form.properties.date === "") {
   alert('Please select a date');
   return false;
}

'Date'在Javascript中是一个对象,但是通过使用foo[bar]表示法,您实际上是试图获得'foo'的属性,其值存储在一个名为'bar'的变量中。