【问题标题】:$_POST only partially containing data submitted$_POST 仅包含部分提交的数据
【发布时间】:2021-05-22 10:47:36
【问题描述】:

我正在为一些数据输入创建一个表单,其中有一个按钮,每次有新工作时都会为每天添加一个表格行

<h3>Monday</h3>

<div class="container">
  <div class="row">
    <div class="col-md-1"></div>
      <div class="col-md-10">
        <div class="form-group">
          <form name="add_name" id="add_name" action="action.php" method="post">
            <table class="table table-bordered table-hover" id="dynamic_field_mon">
              <tr>
                <td><strong>Site Job No</strong></td>
                <td><strong>Work Undertaken</strong></td>
                <td><strong>Start Work</strong></td>
                <td><strong>Finish Work</strong></td>
                <td><strong>Lunch</strong></td>
                <td><strong>Total Hours</strong></td>
                <td><button type="button" name="add_mon" id="add_mon" class="btn btn-primary">Add Job</button></td>  
              </tr>
            </table>
        </div>
      </div>
    <div class="col-md-1"></div>
  </div>
</div>

<h3>Tuesday</h3>

<div class="container">
  <div class="row">
    <div class="col-md-1"></div>
      <div class="col-md-10">
        <div class="form-group">
            <table class="table table-bordered table-hover" id="dynamic_field_tue">
              <tr>
                <td><strong>Site Job No</strong></td>
                <td><strong>Work Undertaken</strong></td>
                <td><strong>Start Work</strong></td>
                <td><strong>Finish Work</strong></td>
                <td><strong>Lunch</strong></td>
                <td><strong>Total Hours</strong></td>
                <td><button type="button" name="add_tue" id="add_tue" class="btn btn-primary">Add Job</button></td>  
              </tr>
            </table>
        </div>
      </div>
    <div class="col-md-1"></div>
  </div>
</div>

这一直持续到周日,在周日之后我添加了以下内容:

          <input type="submit" class="btn btn-success" name="submit" id="submit" value="Submit Timesheet">
</form>

上面的 Javascript 每天都正确添加字段,我可以按原样添加和删除字段,但是,星期二所需的输入不起作用,当我提交表单时,只有以下信息周一是提交和提交按钮,当我var_dump($_POST)

这里是 Javascript:

<script type="text/javascript">
  $(document).ready(function(){

    var i = 1;

    $("#add_mon").click(function(){
      i++;
      $('#dynamic_field_mon').append('<tr id="row'+i+'"><td><input type="text" name="mon_jobno[]" placeholder="Site Job No" class="form-control name_list" required/></td><td><input type="text" name="mon_description[]" placeholder="List A Description Of Work Undertaken" class="form-control name_email" required/></td><td><input type="text" name="mon_startwork[]" placeholder="Start Work" class="form-control name_email" minlength="4" maxlength="5" required/></td><td><input type="text" name="mon_finishwork[]" placeholder="Finish Work" class="form-control name_email" minlength="4" maxlength="5" required/></td><td><input type="text" name="mon_lunch[]" placeholder="Lunch" class="form-control name_email" required/></td><td><input type="text" name="mon_totalhours[]" placeholder="Total Hours" class="form-control name_email" required/></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');  
    });

    $("#add_tue").click(function(){
      i++;
      $('#dynamic_field_tue').append('<tr id="row'+i+'"><td><input type="text" name="tue_jobno[]" placeholder="Site Job No" class="form-control name_list" /></td><td><input type="text" name="tue_description[]" placeholder="List A Description Of Work Undertaken" class="form-control name_email" required/></td><td><input type="text" name="tue_startwork[]" placeholder="Start Work" class="form-control name_email" minlength="4" maxlength="5" required/></td><td><input type="text" name="tue_finishwork[]" placeholder="Finish Work" class="form-control name_email" minlength="4" maxlength="5" required/></td><td><input type="text" name="tue_lunch[]" placeholder="Lunch" class="form-control name_email" required/></td><td><input type="text" name="tue_totalhours[]" placeholder="Total Hours" class="form-control name_email" required/></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');  
    });

$(document).on('click', '.btn_remove', function(){  
  var button_id = $(this).attr("id");   
  $('#row'+button_id+'').remove();  
});
  });

【问题讨论】:

  • 您一次只能提交一个&lt;form&gt;。如果要发送所有信息,则应将所有字段包装在一个表单中。
  • 我已经这样做了,我将编辑我的问题以显示
  • 在星期一之前放置&lt;form&gt;,在星期日之后放置&lt;/form&gt;
  • 感谢您的回复 - 我在星期一之前移动了表单标签并在星期日之后将其关闭,但提交后仍然只发布星期一的信息
  • 抱歉,我正在编辑文件的缓存版本,这样做了,现在可以使用了,谢谢。

标签: javascript php forms


【解决方案1】:

我认为这是因为您的表单标签在星期一部分打开(而不是关闭?),所以它没有包含您的所有输入。

而且,如果您单击表单内的提交按钮,如果您的页面上有多个表单,它将执行此表单而不是其他表单。

【讨论】:

  • 抱歉,已编辑我的问题以显示更多表格,包括结束标签
猜你喜欢
  • 2017-03-20
  • 1970-01-01
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2016-08-28
相关资源
最近更新 更多