Php 测试表行中的空文本输入

Php 测试表行中的空文本输入,php,jquery,codeigniter,Php,Jquery,Codeigniter,我有一个引导模式,如果有数据行要显示,我就用数据库中的数据填充它。名字,姓氏,阶级等级 我能够在保存数据和数据之前添加和删除行 我希望能够从表中收集数据行,并创建一个可以在保存时传递到后端的数据对象。我目前掌握的守则如下: HTML 我在if语句中得到一个错误 在这个阶段,我只尝试构建我可以传递给codeigniter控制器并插入到我的db中的数据对象 此外,如果有更好的方法,我愿意接受建议 提前谢谢 您没有使用正确的语法来获取字段的值 试试这个 $("button#saveaths").on(

我有一个引导模式,如果有数据行要显示,我就用数据库中的数据填充它。名字,姓氏,阶级等级

我能够在保存数据和数据之前添加和删除行 我希望能够从表中收集数据行,并创建一个可以在保存时传递到后端的数据对象。我目前掌握的守则如下:

HTML

我在if语句中得到一个错误

在这个阶段,我只尝试构建我可以传递给codeigniter控制器并插入到我的db中的数据对象

此外,如果有更好的方法,我愿意接受建议


提前谢谢

您没有使用正确的语法来获取字段的值

试试这个

$("button#saveaths").on("click",function() {
  var userID = $("#user_id").val();
  var ath_data = [];
  $("tr").each(function() {
    var firstName = $(this).find("[name=data[first_name]]").val();
    if (firstName != '') {
      var lastName = $(this).find("[name=data[last_name]]").val(),
          classRank = $(this).find("[name=data[classrank]]").val();
      ath_data.push({firstName:firstName,lastName:lastName,classRank:classRank,userID:userID});
    }
  });
  if (ath_data.length>0) {
    $.ajax({ 
      type="POST",
      url:"someServerProcess.php",
      data: JSON.stringify(ath_data),
      contentType: "application/json"
    });
  }
});

如果您的错误出现在jqueryif语句上,那么用于生成的PHP是不相关的。重要的是从PHP生成的HTML是什么样子的。另外,有一个建议是,当你在做这个问题中的内联PHP时,使用endforeach之类的东西-我得到一个错误:未捕获错误:语法错误,无法识别的表达式:name=data[first_name]at Function.ga.error jquery-3.2.1.js:2这是因为jquery的版本吗?我的错,我错过了[]围绕着你那些恼人的名字——我刚开始的时候就有了它们,然后出于某种原因把它们去掉了。请用HTML和JS更新你的问题,因为我使用命名方案数据[名字]等是为了区分每一行。我将修改您的代码和命名方案,看看问题是否仍然存在。我最终删除了括号,代码正常工作!谢谢你在这方面的帮助!发现另一个问题:ath_数据也是如此;成为ath_数据。推送{firstName:firstName,lastName:lastName,classRank:classRank,userID:userID};
$("button#saveaths").click(function() {
  var user_id = $("#user_id").val();
  var ath_data = [];
  $("tr").each(function() {

      if (data[first_name] != '') {
        ath_data.push(this.data[first_name]);
        ath_data.push(this.data[last_name]);
        ath_data.push(this.data[classrank]);
        ath_data.push(user_id);
      }
  });
});
$("button#saveaths").on("click",function() {
  var userID = $("#user_id").val();
  var ath_data = [];
  $("tr").each(function() {
    var firstName = $(this).find("[name=data[first_name]]").val();
    if (firstName != '') {
      var lastName = $(this).find("[name=data[last_name]]").val(),
          classRank = $(this).find("[name=data[classrank]]").val();
      ath_data.push({firstName:firstName,lastName:lastName,classRank:classRank,userID:userID});
    }
  });
  if (ath_data.length>0) {
    $.ajax({ 
      type="POST",
      url:"someServerProcess.php",
      data: JSON.stringify(ath_data),
      contentType: "application/json"
    });
  }
});